這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)jQuery中怎么實(shí)現(xiàn)跨域提交表單數(shù)據(jù),文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
在本例中,為了演示跨域提交數(shù)據(jù),我們假設(shè)A網(wǎng)站域名為www.xuebuyuan.com,B網(wǎng)站域名為demo.xuebuyuan.com。我們?cè)贏網(wǎng)站創(chuàng)建一個(gè)簡(jiǎn)單的表單,用于提交用戶信息。
當(dāng)用戶填寫(xiě)完畢表單并點(diǎn)擊“提交”按鈕時(shí),使用jQuery獲取表單信息,并通過(guò)getJSON提交給B網(wǎng)站,請(qǐng)看代碼:
提交成功!$(function(){
$("#myform").submit(function(){
var data = $(this).serialize(); //序列化表單數(shù)據(jù)
$.getJSON("http://demo.xuebuyuan.com/jsonp.php?callback=?",data,function(json){
var msg = '';
if(json){
var sex = json.sex==1? "男生":"女生";
msg = "
姓名:
"+json.username+"
性別:"+sex+"
年齡:"+json.age+"
從代碼中可以看出,首先將表單數(shù)據(jù)序列化,獲得json格式的表單數(shù)據(jù),然后通過(guò)getJSON將數(shù)據(jù)發(fā)送給B網(wǎng)站URL:http://demo.xuebuyuan.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è)面。
本例中,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è)面。
$result['username'] = $_GET['username'];
$result['sex'] = $_GET['sex'];
$result['age'] = $_GET['age'];
echo $_GET['callback'].'('.json_encode($result).')';
如果處理成功,會(huì)返回這樣一串字符串:jsonp1331385001001({"username":"u5929u70edu7279","sex":"1","age":"28"})。
上述就是小編為大家分享的jQuery中怎么實(shí)現(xiàn)跨域提交表單數(shù)據(jù)了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。