日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
使用jQuery實(shí)現(xiàn)跨域提交表單數(shù)據(jù)

我們?cè)赪EB開發(fā)中有時(shí)會(huì)遇到這種情況,比如要從A網(wǎng)站收集用戶信息,提交給B網(wǎng)站處理,這個(gè)時(shí)候就會(huì)涉及到跨域提交數(shù)據(jù)的問(wèn)題。本文將給您介紹如何使用jQuery來(lái)實(shí)現(xiàn)異步跨域提交表單數(shù)據(jù)。

創(chuàng)新互聯(lián)業(yè)務(wù)包括:成品網(wǎng)站、企業(yè)產(chǎn)品展示型網(wǎng)站建設(shè)、高端網(wǎng)站設(shè)計(jì)、電子商務(wù)型網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站制作(多語(yǔ)言)、電子商務(wù)商城網(wǎng)站建設(shè)、按需規(guī)劃網(wǎng)站、營(yíng)銷型網(wǎng)站等。效率優(yōu)先,品質(zhì)保證,用心服務(wù)是我們的核心價(jià)值觀,我們將繼續(xù)以良好的信譽(yù)為基礎(chǔ),秉承穩(wěn)固與發(fā)展、求實(shí)與創(chuàng)新的精神,為客戶提供更全面、更優(yōu)質(zhì)的互聯(lián)網(wǎng)服務(wù)!

在jQuery中,我們使用json數(shù)據(jù)類型,通過(guò)getJSON方法來(lái)實(shí)現(xiàn)從服務(wù)端獲取或發(fā)送數(shù)據(jù),而當(dāng)要向不同遠(yuǎn)程服務(wù)器端提交或者獲取數(shù)據(jù)時(shí),要采用jsonp數(shù)據(jù)類型。使用這種類型的話,會(huì)創(chuàng)建一個(gè)查詢字符串參數(shù) callback=? ,這個(gè)參數(shù)會(huì)加在請(qǐng)求的URL后面。服務(wù)器端應(yīng)當(dāng)在JSON數(shù)據(jù)前加上回調(diào)函數(shù)名,以便完成一個(gè)有效的JSONP請(qǐng)求。如果要指定回調(diào)函數(shù)的參數(shù)名來(lái)取代默認(rèn)的callback。

注意,JSONP是JSON格式的擴(kuò)展。他要求一些服務(wù)器端的代碼來(lái)檢測(cè)并處理查詢字符串參數(shù)。

HTML

在本例中,為了演示跨域提交數(shù)據(jù),我們假設(shè)A網(wǎng)站域名為www.helloweba.com,B網(wǎng)站域名為demo.helloweba.com。我們?cè)贏網(wǎng)站創(chuàng)建一個(gè)簡(jiǎn)單的表單,用于提交用戶信息。

 
 
 
 
  1.  
  2.    

     
  3.    

     男生 

  4.      女生 

     
  5.    

     
  6.    

     
  7.   

jQuery

當(dāng)用戶填寫完畢表單并點(diǎn)擊“提交”按鈕時(shí),使用jQuery獲取表單信息,并通過(guò)getJSON提交給B網(wǎng)站,請(qǐng)看代碼:

 
 
 
 
  1. $(function(){ 
  2.     $("#myform").submit(function(){ 
  3.         var data = $(this).serialize(); //序列化表單數(shù)據(jù) 
  4.         $.getJSON("http://demo.helloweba.com/jsonp.php?callback=?",data,function(json){ 
  5.             var msg = ''; 
  6.             if(json){ 
  7.                var  sex = json.sex==1? "男生":"女生"; 
  8.                msg = "< id='result'>提交成功!
    姓名: 
  9.                "+json.username+"
    性別:"+sex+"
    年齡:"+json.age+"" 
  10.             }else{ 
  11.                msg = "服務(wù)器忙,請(qǐng)稍候再試!"; 
  12.             } 
  13.             $("#myform").after(msg); //將返回信息插入頁(yè)面對(duì)應(yīng)的元素后 
  14.         }); 
  15.         return false; 
  16.     }); 
  17. }); 

從代碼中可以看出,首先將表單數(shù)據(jù)序列化,獲得json格式的表單數(shù)據(jù),然后通過(guò)getJSON將數(shù)據(jù)發(fā)送給B網(wǎng)站URL:http://demo.helloweba.com/jsonp.php?callback=?,注意URL后面有個(gè)callback=?,將請(qǐng)求轉(zhuǎn)換為一個(gè)JSONP請(qǐng)求。然后根據(jù)B網(wǎng)站處理結(jié)果響應(yīng),并將響應(yīng)結(jié)果動(dòng)態(tài)顯示在A網(wǎng)站的表單提交頁(yè)面。

PHP

本例中,B網(wǎng)站的jsonp.php程序獲取A網(wǎng)站提交過(guò)來(lái)的表單數(shù)據(jù),并將數(shù)據(jù)進(jìn)行必要的處理(如有需要,可將數(shù)據(jù)過(guò)濾并插入數(shù)據(jù)庫(kù)中),然后返回JSON格式的數(shù)據(jù)給A網(wǎng)站的表單提交頁(yè)面。

 
 
 
 
  1. $result['username'] = $_GET['username']; 
  2. $result['sex'] = $_GET['sex']; 
  3. $result['age'] = $_GET['age']; 
  4. echo $_GET['callback'].'('.json_encode($result).')'; 

如果處理成功,會(huì)返回這樣一串字符串:jsonp1331385001001({"username":"\u5929\u70ed\u7279","sex":"1","age":"28"})。


當(dāng)前題目:使用jQuery實(shí)現(xiàn)跨域提交表單數(shù)據(jù)
本文鏈接:http://www.5511xx.com/article/djdiisc.html