亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

全面解析Ajax和jsonp使用總結

2024-09-01 08:30:55
字體:
來源:轉載
供稿:網友

前言:ajax和jsonp可以與后臺通信,獲取數據和信息,但是又不用刷新整個頁面,實現頁面的局部刷新。

一、ajax

•定義:一種發送http請求與后臺進行異步通訊的技術。

•原理:實例化xmlhttp對象,使用此對象與后臺通信。

ajax的同源策略:

•ajax請求的頁面或資源只能是同一個域下面的資源,不能是其他域的資源,這是在設計ajax時基于安全考慮。

--------------------------------------------------------------------------------

ajax的方法:

1. $.ajax({}):

•常用參數: •url:請求網絡地址
•type:請求方式,默認是'GET',常用'POST'
•dataType:設置返回的數據格式,一般使用json,也可以是html和jsonp;
•data:設置發送給服務器的數據
•.done():設置請求成功后的回調函數
•.fail():設置請求失敗后的回調函數
•async:設置是否異步,默認值是'true',表示異步

•代碼運用:

$(function () {  $("input").click(function () {    $.ajax({      url: "./data.json",      type: "get",      dataType: "json",    });    .done(function(data) {//請求成功的回調函數      $("input").val(dat.name);    })    .fail(function() {      alert('服務器超時,請重試!');    });  });})......<body>  <div>    <input type="button" value="xinzhi">  </div></body>

說明:data表示后臺返回的數據;ajax使用需要依賴服務器環境。

2. $.get():

•$.get() 方法使用GET請求從服務器加載數據;也是一種無刷新的請求數據的ajax方法。

•參數:
•url:訪問的網址,需要遵循同源策略;
•data:發送到服務器的數據。
•function(data,status){}:請求成功運行的函數
•dataType:請求響應的數據類型。

//參考代碼:$(function () {  $("input").click(function () {    $.get(      "./data.json",      function (data,status) {        console.log(data.name);      },      "json"    );  });})......<body>  <div>    <input type="button" value="xinzhi">  </div></body>

•$.get()方法的參數和$.ajax()不一樣,網址url為必須的參數,其他三個可選。
•data為返回的數據,status表示請求的狀態,一般有""success","error","timeout"等幾種。
•如果datatype類型為jsonp,也可以跨域請求數據。
•無請求失敗的回調函數。

3. $.post()

•$.get() 方法使用POST請求從服務器加載數據;
•其使用的方法和$.get()方法完全一樣。

4. $.load():

•從服務器加載數據,不需要指定datatype,返回的數據會自動放置到元素中。
•參數:

•URL:地址;
•data:請求的參數,可選;
•function(response,status,xhr):請求成功的回調函數。

$(function () {  $("input").click(function () {    $(".box").load(      "./data.json",      function (response,status) {        console.log(data.name);      }    );  });})......<body>  <div>    <input type="button" value="xinzhi">    <div class="box"></div>  </div></body>

•返回的數據會放置在div中;
•不能跨域訪問數據;
•response為返回的數據,status為請求的狀態;
•無請求失敗的回調函數。

4. getJSON()

•方法使用 AJAX 的 HTTP GET 請求獲取 JSON 數據。
•參數:
•url: 請求網址,必須的參數;
•data: 發送給服務器的數據;
•function(data,status,xhr):請求成功的回調函數

$(function () {  $("input").click(function () {    $.getJSON(      "./data.json",      function(data,status) {        console.log(data.name);      },    );  });})......<body>  <div>    <input type="button" value="xinzhi">  </div></body>

•方法直接獲取的是json數據;

•無返回失敗的回調函數;

•回調函數時命名函數,不是匿名函數;

5. getScript()

•方法使用 AJAX 的 HTTP GET 請求獲取并執行js代碼。

•參數:

•url: 請求網址,必須的參數;

•function(data,status):請求成功的回調函數

$(function () {  $("input").click(function () {    $.getScript(      "./data.js",      function(data,status) {        console.log(data);      },    );  });})......<body>  <div>    <input type="button" value="xinzhi">  </div></body>

•返回結data是js代碼;

•該方法可以用來動態加載js代碼。

二、jsonp

•定義:一種可以實現跨域發送http請求的數據通信格式,可以嵌在ajax中使用。
•原理:利用script標簽可以跨域鏈接資源的特性。

用法一:函數傳參

<script type="text/javascript">  function aa(data){    console.log(data.name);  }</script><script type="text/javascript" src="....../data.js"></script>

說明:在外部定義一個data.js文件,這個文件的路徑可以與當前頁面不在同一個域下面。

data.js的內容:

aa({    "data":{    "name":"xiaohong",    "age":"18"  }})

•將數據以頁面定義的函數的參數的形式傳遞進去,從而獲取數據。

•本質上可以將數據拆分,使得數據不用強制保存在同一個域名下。

用法二:利用ajax

$.ajax({  url:'...../data.js',//可以不是本地域名   type:'get',  dataType:'jsonp', //jsonp格式訪問  jsonpCallback:'aa' //獲取數據的函數}).done(function(data){  console.log(data.name);}).fail(function() {  alert('服務器超時,請重試!');});

•data.js的內容和上面一樣。

•使用ajax的方法本質上也是script標簽可以跨域鏈接資源,不過jquery為其封裝了相同的方法,看起來一樣。

•以上代碼的執行過程為:ajax通過jsonp技術跨域訪問data.js文件,通過找到aa()方法將其參數傳遞給.done方法的data參數執行.done方法。

•目前這種方式仍然有其局限性,就是必須知道data.js文件的名字和定義的方法aa,如果在僅僅知道域名的情況下,需要另外的方法.

用法三

var $input = $("input");$input.keyup(function () {  $.ajax({    url:'https://sug.so.#/suggest?',//請求360搜索的聯想數據    type:'get',    dataType:'jsonp', //jsonp格式訪問    data: {word: $input.val()},  })  .done(function(data){    console.log(data);  })  .fail(function() {    alert('服務器超時,請重試!');  });})....<body>  <input type="text"></body>

•通過瀏覽器查看每次輸入關鍵字服務器發送回的數據包,找到js文件中header的地址以及相關的提交數據,發現key為word關鍵字,因此可以向服務器發送data數據。
•服務器返回的數據會自動傳給回調的匿名函數的參數data.

總結

以上所述是小編給大家介紹的Ajax和jsonp使用總結,需要的朋友參考下

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人中文字幕| 国产精品一区久久久| 久久久久久久久中文字幕| 国产在线日韩在线| 狠狠躁18三区二区一区| 久久久在线观看| 日韩av免费一区| 国产一区二区三区在线| 九九热视频这里只有精品| 亚洲视频第一页| 欧美一区二区三区四区在线| 国产一区二区三区三区在线观看| 欧美视频一区二区三区…| 日韩中文在线中文网三级| 成人精品在线视频| 日韩成人性视频| 姬川优奈aav一区二区| 日韩精品视频免费专区在线播放| 日韩大胆人体377p| 中文字幕在线看视频国产欧美在线看完整| 精品国产一区二区三区四区在线观看| 国内精品久久久久久久| 不卡av在线播放| 亚洲精品午夜精品| 18久久久久久| 欧美激情在线视频二区| 一区二区成人精品| 青青草原一区二区| 国产精品中文在线| 国产精品免费一区二区三区都可以| 久久99久久99精品免观看粉嫩| 国产精品一区二区性色av| 超碰日本道色综合久久综合| 亚洲欧洲中文天堂| 超碰日本道色综合久久综合| 国产日韩中文字幕| 欧美老女人bb| 国语自产偷拍精品视频偷| 久久激情五月丁香伊人| 日韩免费在线电影| 亚洲人成网站免费播放| 亚洲xxxxx| 欧美日韩国产色| 欧美孕妇孕交黑巨大网站| 久久久久久久999| 亚洲最大福利网站| 国产精品高清网站| 中文字幕亚洲二区| 91av视频在线观看| 亚洲电影免费在线观看| 成人激情在线播放| 欧美性猛交xxxx乱大交极品| 日韩欧美精品在线观看| 亚洲一级片在线看| 久久精品国产亚洲一区二区| 日韩电影免费观看在线| 日韩av在线免费观看| 91爱爱小视频k| 中文字幕亚洲一区| 最新国产精品拍自在线播放| 亚洲成**性毛茸茸| 欧美理论电影在线观看| 亚洲欧美在线免费观看| 青草热久免费精品视频| 成人444kkkk在线观看| 亚洲片国产一区一级在线观看| 欧美午夜视频一区二区| 91精品久久久久久久| 亚洲精品成人久久电影| 国产精品视频一区国模私拍| 色综合五月天导航| 97超碰国产精品女人人人爽| 久久综合五月天| 国产成人aa精品一区在线播放| 成人免费福利视频| 国产精品视频一区国模私拍| 欧美在线一区二区三区四| 日韩精品在线观看网站| 国模gogo一区二区大胆私拍| 久久久人成影片一区二区三区观看| 日韩精品视频免费在线观看| 亚洲精品久久久久久下一站| 色爱av美腿丝袜综合粉嫩av| 色综合色综合久久综合频道88| 国产狼人综合免费视频| 亚洲国产福利在线| 国产精品视频精品| 成人黄色午夜影院| 日韩在线精品视频| 日韩人体视频一二区| 精品一区二区三区电影| 国产视频精品在线| 欧美另类极品videosbestfree| 成人精品视频久久久久| 欧美高清性猛交| 日韩在线视频网| 久久久av一区| 亚洲欧美国产一本综合首页| 国产精品久久久久久久天堂| 国产精品电影一区| 久久免费视频这里只有精品| 丝袜一区二区三区| 精品国产自在精品国产浪潮| 亚洲欧美日韩精品久久| 国产不卡精品视男人的天堂| 亚洲精品成人久久| 国产精品一区二区性色av| 日本精品免费一区二区三区| 成人午夜黄色影院| 日本久久久久久久久久久| 日韩免费观看在线观看| 欧美日韩亚洲网| 日韩中文字幕网| 这里只有精品丝袜| 久久久91精品国产| 国产精品 欧美在线| 欧美激情aaaa| 久久91亚洲精品中文字幕奶水| 在线性视频日韩欧美| 日韩av第一页| 欧美视频在线观看免费网址| 在线电影av不卡网址| 欧美孕妇孕交黑巨大网站| 国产精品一区二区三区成人| 成人午夜激情免费视频| 91在线视频精品| 亚洲欧美日韩高清| 777777777亚洲妇女| 欧美在线免费观看| 国产精品白嫩初高中害羞小美女| 国产精品久久精品| 亚洲激情视频网站| 成人疯狂猛交xxx| 91精品国产九九九久久久亚洲| 久色乳综合思思在线视频| 久久99精品久久久久久琪琪| 亚洲一区二区三区sesese| 亚洲性av在线| 亚洲欧美国产日韩中文字幕| 日本国产精品视频| 91久久中文字幕| 国产精品久久久久久亚洲影视| 国产亚洲一区二区在线| 不卡毛片在线看| 亚洲欧美变态国产另类| 亚洲91精品在线| 亚洲日本aⅴ片在线观看香蕉| 91精品久久久久久久久久另类| 97国产精品免费视频| 欧美整片在线观看| 欧美日韩激情美女| 热99精品只有里视频精品| 九九视频这里只有精品| 色一情一乱一区二区| 日韩电视剧免费观看网站| 国产精品小说在线| 日韩女在线观看| 亚洲欧美激情一区| 国产一区视频在线播放| 久久久久久成人| 久久精品国产亚洲7777| 中文字幕精品一区二区精品| 欧美午夜宅男影院在线观看| 91视频8mav|