<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用Jquery中getJSON方法實現跨域

      一、什么是跨域?

       

      因為javascript同源策略的限制,a.com 域名下的js腳本無法操作b.com或是c.a.com域名下的對象。

       Ajax的應用中,由于安全的問題,瀏覽器默認是不支持javascript跨域調用的。

      1.主域相同,子域不同,如xxx.aaa.com和yyy.aaa.com

      2.域名相同,端口不同,如xxx.aaa.com:8000和xxx.aaa.com

      3.域名相同,協議不同,如http://www.aaa.com/和https://www.aaa.com/

      4.主機相同,用ip和域名的,http://127.0.0.1/和http://localhost/

      都是會造成跨域的。網上有很多解決辦法,下面介紹使用JQuery的getJSON方法處理跨域問題。

       

      二、使用Jquery的$.getJSON方法處理跨域的例子

       

       客戶端http://www1.aaa.com/aaa.aspx(遞交數據到www2.aaa.com的bbb.aspx頁)

       

      <html>
      <head><title>演示</title>
      </head>
      <body>
      <script src="jquery.min.js"></script>
      <script type="text/javascript">
      var url="http://www2.aaa.com/bbb.aspx?action=add&callback=?";
      var data={username:"sanjer",userid:"110"};
      //或者這樣
      //var _username="sanjer";var _userid="110";var data={username:_username,userid:_userid};
      $.getJSON(url,data,function(backdata){
        alert(backdata);
      });
      </script>
      </body>
      </html>
      
      
      

       服務器端http://www2.aaa.com/bbb.apsx后臺程序接收收來自www1.aaa.com/aaa.apsx頁發送的數據

       

      C# 

      string action=Request.QueryString.Get("action");
      
      string callback=Request.QueryString.Get("callback");
      
      //Jquery經過自己的處理后
      //1.將callback=?的問號替換為回調方法的名稱2.將data里的數據附加到url后面
      //發送出去的請求會其實會變成
      
      //http:www2.aaa.com/bbb.aspx?action=add&callback=JQUET0988002&username=sanjer&userid=110
      
      //所以客戶端發送的data數據還是通過QueryString接收
      
      string username=Request.QueryString.Get("username");
      
      string userid=Request.QueryString.Get("userid");
      

      至此把從aaa.aspx頁面通過js發送的數據跨域遞交到bbb.aspx了,如果還需要bbb.aspx處理后再把另外一些結果數據返回給aaa.aspx怎么做呢?

       

      服務器端http://www1.aaa.com/bbb.apsx

       

      C#  

      //...處理一些邏輯內容后接下來要返回數據給js
      string backjsondata="({'usersex':'男','useraddress':'北京市海淀區'})";
      //要將返回的數據封成json格式的字符串,具體的上百度上查下json的數據格式
      //簡單的寫法就是({'變量名':'變量值'})
      //多個的話寫成({'變量名1':'變量值1','變量名2':'變量值2',.....})
      string mybackdata=callback+backjsondata;
      
      //這里callback變量一定要返回回去,并把已包裝成JSON的格式({'usersex':'男'})的json字符串和callback一并返回
      
      Response.Write(mybackdata);
      Response.End();
      


       客戶端aaa.aspx頁面的回調函數里讀取usersex和useraddess數據

      $.getJSON(url,data,function(backdata){  
        alert(backdata.usersex);
        alert(backdata.useraddress);
      });
      //客戶端可以這樣直接讀取服務器端返回來的json數據內容 
      
      
      

      這里有幾點需要總結注意一下:

      1.發送到數據接收方的地址后面一定要加上callback=?這樣的參數,且這個?是會被Jquery自動替換成回調方法的名稱。(在Jquery1.4中可以自己指定回調方法的名稱了

      2.注意js腳本發送數據的data不能寫成var data="{'username':'sanjer','userid':'110'}";而是要寫成var data={username:'sanjer',userid:'110'},這點要注意。要想接收服務器端返回的數據必須服務器端封裝數據為JSON格式字符串并和callback值一道返回。(請仔細看上面的示例代碼)。

      3.由于調用Jquery的$.getJSON方法時,Jquery有自己的處理,實際上通過script的scr請求的(具體不說了,Jquery做了就不管了),但要知道,數據最終還是通過url后面通過get方式發送數據出去的,這就決定了,發送的data數據量不能太多,否則造成url太長接收失敗(getJSON方式是不可能有post方式遞交的)。

      4.如果真需要跨域發送大數據量就不要用jquery提供的getJSON方法了,得尋求其他法子,具體的做法我打算在下篇文章中寫一下。

      5.以上的例子是站在兩方面的開發都由你掌控的前提下的。且要注意服務器程序端的安全系數不高(建議數據接收端這邊不要放重要、敏感的邏輯處理單元)。

       

      第一次寫博客,以上文字難免有錯誤或遺漏,望各位看官包涵。聊以為一給自己備忘,二給不大清楚跨域處理的朋友推薦下getJSON的使用。

       

      posted @ 2010-04-06 18:41  sanjer  閱讀(25709)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 国产永久免费高清在线观看| 国产精品无码久久久久AV| 亚洲精品无amm毛片| 亚洲乱妇老熟女爽到高潮的片| 国产地址二永久伊甸园| 亚洲国产av剧一区二区三区| 国产av不卡一区二区| 中文字幕乱码中文乱码毛片| 亚洲 欧洲 无码 在线观看| 海淀区| 国产偷窥熟女高潮精品视频| 国产一卡2卡三卡4卡免费网站 | 国产AV巨作丝袜秘书| 国产成人高清亚洲综合| 中文字幕亚洲人妻一区| 日韩在线观看精品亚洲| 狠狠色丁香婷婷久久综合五月| 日韩精品中文字幕国产一| 国产精成人品日日拍夜夜| 根河市| 亚洲人成网站在线播放动漫| 久久不见久久见www日本| 国产丰满乱子伦无码专区| 4480yy亚洲午夜私人影院剧情 | 五月丁香色综合久久4438| 国产精品妇女一区二区三区| 日韩视频一区二区三区视频| 精品人妻中文字幕在线| 久久亚洲熟女cc98cm| 在线观看精品视频网站| 亚洲一区二区精品动漫| 国产人妻精品无码av在线| 国产精品福利自产拍久久| 国产又爽又黄又爽又刺激| av一区二区中文字幕| 国产激情一区二区三区在线| 欧美日韩不卡合集视频| 在线中文字幕国产精品| 在线涩涩免费观看国产精品| 婷婷五月综合激情| 人妻在线中文字幕|