日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于$.getJson

發(fā)布時(shí)間:2023/12/1 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于$.getJson 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這是一個(gè)Ajax函數(shù)的縮寫,這相當(dāng)于:

1 2 3 4 5 6 $.ajax({ dataType: "json", url: url, data: data, success: success });

數(shù)據(jù)會(huì)被附加到一個(gè)查詢字符串的URL中,發(fā)送到服務(wù)器。如果該值的data參數(shù)是一個(gè)普通的對(duì)象,它會(huì)轉(zhuǎn)換為一個(gè)字符串并使用URL編碼,然后才追加到URL中。

大多數(shù)情況下都會(huì)指定一個(gè)請(qǐng)求成功后的回調(diào)函數(shù):

1 2 3 4 5 6 7 8 9 10 11 12 $.getJSON('ajax/test.json', function(data) { var items = []; $.each(data, function(key, val) { items.push('<li id="' + key + '">' + val + '</li>'); }); $('<ul/>', { 'class': 'my-new-list', html: items.join('') }).appendTo('body'); });

這個(gè)例子,當(dāng)然遵循JSON文件的結(jié)構(gòu):

1 2 3 4 5 { "one": "Singular sensation", "two": "Beady little eyes", "three": "Little birds pitch by my doorstep" }

使用這種結(jié)構(gòu),這個(gè)例子遍歷請(qǐng)求的數(shù)據(jù),建立了一個(gè)無序列表,并追加到body。

在success回調(diào)中傳入返回的數(shù)據(jù),通常是一個(gè)JavaScript對(duì)象或數(shù)組所定義的JSON結(jié)構(gòu),使用$.parseJSON()方法解析。它(success回調(diào))也傳入了響應(yīng)狀態(tài)文本。

在jQuery 1.5,,在success回調(diào)函數(shù)接收一個(gè)“jqXHR”對(duì)象?( 在jQuery 1.4中 ,它收到的是XMLHttpRequest對(duì)象)。然而,由于JSONP形式和跨域的GET請(qǐng)求不使用XHR,在這些情況下,?jqXHR和textStatus參數(shù)傳遞給success(成功)回調(diào)是 undefined 。

重要提示:?從jQuery 1.4開始,如果JSON文件包含一個(gè)語法錯(cuò)誤,該請(qǐng)求通常會(huì)靜靜的失敗。因此應(yīng)該避免頻繁手工編輯JSON數(shù)據(jù)。JSON語法規(guī)則比JavaScript對(duì)象字面量表示法更加嚴(yán)格。例如,所有在JSON中的字符串,無論是屬性或值,必須用雙引號(hào)括起來,更多JSON細(xì)節(jié)信息請(qǐng)參閱http://json.org/?。

JSONP

如果URL包含字符串“callback=?”(或類似的參數(shù),取決于服務(wù)器端 API 是如何定義的),這個(gè)請(qǐng)求被視為JSONP形式請(qǐng)求。更多jsonp數(shù)據(jù)類型的細(xì)節(jié)討論,請(qǐng)參閱$.ajax()。

The jqXHR Object(jqXHR 對(duì)象)

愚人碼頭注:估計(jì)是jQuery官方?jīng)]有及時(shí)的更新這條api,和jQuery.get() api中的jqXHR 對(duì)象描述上有差別。

從jQuery 1.5開始,所有jQuery的Ajax方法都返回一個(gè)XMLHTTPRequest對(duì)象的超集。這個(gè)通過$.get()方法返回的jQuery XHR對(duì)象,或“jqXHR,”實(shí)現(xiàn)了 Promise 接口,使它擁有 Promise 的所有屬性,方法和行為(見Deferred object獲取更多信息)。 為了便于在?$.ajax()里使用,jQuery XHR 對(duì)象$.ajax()同樣也提供了.error()?.success()和.complete()方法。這些方法接受一個(gè)函數(shù)參數(shù),用來請(qǐng)求終止時(shí)被調(diào)用。這個(gè)函數(shù)接收與$.ajax()回調(diào)函數(shù)名中相同的參數(shù)。

Promise 接口也允許jQuery的Ajax方法, 包括?$.getJSON(), 在一個(gè)單獨(dú)的請(qǐng)求中關(guān)聯(lián)到?.success(),?.complete(), 和?.error()?回調(diào)函數(shù), 甚至允許你在請(qǐng)求已經(jīng)結(jié)束后,指派回調(diào)函數(shù)。如果該請(qǐng)求已經(jīng)完成,則回調(diào)函數(shù)會(huì)被立刻調(diào)用。

1 2 3 4 5 6 7 8 9 10 11 12 13 // Assign handlers immediately after making the request, // and remember the jqxhr object for this request var jqxhr = $.getJSON("example.json", function() { alert("success"); }) .success(function() { alert("second success"); }) .error(function() { alert("error"); }) .complete(function() { alert("complete"); }); // perform other work here ... // Set another completion function for the request above jqxhr.complete(function(){ alert("second complete"); });

Deprecation Notice(棄用通知)

jQuery 1.5中引進(jìn)的?jqXHR.success(),jqXHR.error(),jqXHR.complete()回調(diào)方法在jQuery 1.8中廢棄。你的代碼因做好準(zhǔn)備,他們最終將被移除,使用jqXHR.done(),?jqXHR.fail(), 和?jqXHR.always()代替。

Additional Notes:(其他注意事項(xiàng):)

  • 由于瀏覽器的安全限制,大多數(shù)“Ajax”的要求,均采用同一起源的政策?;即無法從不同的域,子域或協(xié)議中正確接收數(shù)據(jù)。
  • Script和JSONP形式請(qǐng)求不受同源策略的限制。

例子:

Example:?從 Flickr JSONP API中加載最近的四張標(biāo)簽為貓的圖片:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <!DOCTYPE html> <html> <head> <style>img{ height: 100px; float: left; }</style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <div id="images"> </div> <script> $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", { tags: "mount rainier", tagmode: "any", format: "json" }, function(data) { $.each(data.items, function(i,item){ $("<img/>").attr("src", item.media.m).appendTo("#images"); if ( i == 3 ) return false; }); });</script> </body> </html>

轉(zhuǎn)載于:https://www.cnblogs.com/mengziHEHE/p/3331668.html

總結(jié)

以上是生活随笔為你收集整理的关于$.getJson的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。