您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關jQuery中怎么實現跨域提交表單數據,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
在本例中,為了演示跨域提交數據,我們假設A網站域名為www.xuebuyuan.com,B網站域名為demo.xuebuyuan.com。我們在A網站創建一個簡單的表單,用于提交用戶信息。
<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獲取表單信息,并通過getJSON提交給B網站,請看代碼:
$(function(){
$("#myform").submit(function(){
var data = $(this).serialize(); //序列化表單數據
$.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 = "服務器忙,請稍候再試!";
}
$("#myform").after(msg); //將返回信息插入頁面對應的元素后
});
return false;
});
});
從代碼中可以看出,首先將表單數據序列化,獲得json格式的表單數據,然后通過getJSON將數據發送給B網站URL:http://demo.xuebuyuan.com/jsonp.php?callback=?,注意URL后面有個callback=?,將請求轉換為一個JSONP請求。然后根據B網站處理結果響應,并將響應結果動態顯示在A網站的表單提交頁面。
本例中,B網站的jsonp.php程序獲取A網站提交過來的表單數據,并將數據進行必要的處理(如有需要,可將數據過濾并插入數據庫中),然后返回JSON格式的數據給A網站的表單提交頁面。
$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中怎么實現跨域提交表單數據了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。