成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用jQuery實(shí)現(xiàn)跨域提交表單數(shù)據(jù)

開發(fā) 前端
在jQuery中,我們使用json數(shù)據(jù)類型,通過getJSON方法來實(shí)現(xiàn)從服務(wù)端獲取或發(fā)送數(shù)據(jù),而當(dāng)要向不同遠(yuǎn)程服務(wù)器端提交或者獲取數(shù)據(jù)時(shí),要采用jsonp數(shù)據(jù)類型。

 

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

[[78308]]

在jQuery中,我們使用json數(shù)據(jù)類型,通過getJSON方法來實(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ì)加在請求的URL后面。服務(wù)器端應(yīng)當(dāng)在JSON數(shù)據(jù)前加上回調(diào)函數(shù)名,以便完成一個(gè)有效的JSONP請求。如果要指定回調(diào)函數(shù)的參數(shù)名來取代默認(rèn)的callback。

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

HTML

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

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

jQuery

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

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

PHP

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

  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"})。

【編輯推薦】

 

 

責(zé)任編輯:張偉 來源: Helloweba
相關(guān)推薦

2011-07-22 09:51:51

iPhone FROM 表單

2016-09-27 19:28:37

2009-07-02 15:12:39

2009-07-03 14:41:03

2016-12-13 13:54:10

EasyUI form數(shù)據(jù)加載

2023-04-26 08:18:48

FormPrompt表單更改

2011-04-19 10:32:27

MVCjQuery

2024-08-02 08:21:52

Spring項(xiàng)目方式

2009-12-01 18:02:41

PHP表單數(shù)組

2021-06-15 07:32:59

Cookie和Sess實(shí)現(xiàn)跨域

2021-09-14 18:33:39

React 數(shù)據(jù)交互

2010-06-10 18:08:58

2009-07-02 11:29:22

JSP技術(shù)表單數(shù)據(jù)存儲

2009-05-21 14:47:38

WEB開發(fā)JsonAjax

2009-07-29 16:40:50

Ajax提交asp.n

2011-05-26 13:10:30

JSONPJSON

2014-08-19 10:36:02

AngularCORS

2009-09-14 18:44:06

MVC+jQuery

2010-01-22 14:59:40

VB.NET表單自動(dòng)提

2020-12-31 08:14:39

VueAxiosJavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美网站一区二区 | 亚洲一区二区三区视频免费观看 | 午夜在线小视频 | 国产视频福利一区 | 久久久久久91 | 爱高潮www亚洲精品 中文字幕免费视频 | 成人欧美一区二区三区黑人孕妇 | 久久精品毛片 | 欧美成视频在线观看 | 亚洲精品欧美 | 国内自拍视频在线观看 | 人人干天天干 | 国产精品美女久久久久 | 99久久99热这里只有精品 | 黄色激情毛片 | 久久精品免费 | 亚洲精品久久区二区三区蜜桃臀 | 日本涩涩网 | 老头搡老女人毛片视频在线看 | 免费福利视频一区二区三区 | 91麻豆精品国产91久久久久久 | 欧美日韩一区二区三区四区 | 国产在线一区二区三区 | 日韩91| 欧美天堂一区 | 日本黄色大片免费 | 91成人免费观看 | 精品久久久久久久久久 | 欧美一区 | 国产色婷婷久久99精品91 | 免费观看羞羞视频网站 | 久久aⅴ乱码一区二区三区 91综合网 | 亚洲欧美一区二区三区国产精品 | 青娱乐一区二区 | 妞干网视频 | 色射综合 | 一区二区精品 | 亚洲大片一区 | 欧美亚洲另类在线 | 国产人成精品一区二区三 | 日韩欧美一级片 |