溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

jQuery中怎么實現(xiàn)跨域提交表單數(shù)據(jù)

發(fā)布時間:2021-08-09 17:17:39 來源:億速云 閱讀:102 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)jQuery中怎么實現(xiàn)跨域提交表單數(shù)據(jù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

HTML

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

<form id="myform" action="#" method="post">   <p><label>姓名:</label><input type="text" class="input" name="username" /></p>   <p><label>性別:</label><input type="radio" name="sex" value="1" checked="checked" /> 男生    <input type="radio" name="sex" value="2" /> 女生 </p>   <p><label>年齡:</label><input type="text" class="input" name="age" /></p>   <p><input type="submit" class="btn" value="提 交" /></p> </form>

jQuery

當用戶填寫完畢表單并點擊“提交”按鈕時,使用jQuery獲取表單信息,并通過getJSON提交給B網(wǎ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 = "<p id='result'><strong>提交成功!</strong><br/>姓名:               "+json.username+"<br/>性別:"+sex+"<br/>年齡:"+json.age+"</p>" }else{   msg = "服務(wù)器忙,請稍候再試!"; } $("#myform").after(msg); //將返回信息插入頁面對應的元素后 }); return false; }); });

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

PHP

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

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

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

上述就是小編為大家分享的jQuery中怎么實現(xiàn)跨域提交表單數(shù)據(jù)了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI