jQuery中$ajax解析xml、json格式數(shù)據(jù)_第1頁(yè)
jQuery中$ajax解析xml、json格式數(shù)據(jù)_第2頁(yè)
jQuery中$ajax解析xml、json格式數(shù)據(jù)_第3頁(yè)
jQuery中$ajax解析xml、json格式數(shù)據(jù)_第4頁(yè)
jQuery中$ajax解析xml、json格式數(shù)據(jù)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、jquery中$.ajax解析xml、json格式數(shù)據(jù)$.ajax()方法參數(shù)詳解:url:要求為string類型的參數(shù),(默認(rèn)為當(dāng)前頁(yè)地址)發(fā)送請(qǐng)求的地址。 注意:這個(gè)要訪問url必須與js文件在同一個(gè)域,否則會(huì)報(bào)錯(cuò)。type:要求為string類型的參數(shù),請(qǐng)求方式(post或get)默認(rèn)為get。注意其他 http請(qǐng)求方法,例如put和delete也可以使用,但僅部分瀏覽器支持。timeout:要求為number類型的參數(shù),設(shè)置請(qǐng)求超時(shí)時(shí)間(毫秒)。此設(shè)置將覆 蓋$.ajaxsetup()方法的全局設(shè)置。async:要求為boolean類型的參數(shù),默認(rèn)設(shè)置為true,所有請(qǐng)求均為異步請(qǐng)求。

2、 如果需要發(fā)送同步請(qǐng)求,請(qǐng)將此選項(xiàng)設(shè)置為falseo注意,同步請(qǐng)求將鎖住瀏覽 器,用戶其他操作必須等待請(qǐng)求完成才可以執(zhí)行。cache:要求為boolean類型的參數(shù),默認(rèn)為true (當(dāng)datatype為script時(shí),默認(rèn) 為false)o設(shè)置為false將不會(huì)從瀏覽器緩存中加載請(qǐng)求信息。data:耍求為object或string類型的參數(shù),發(fā)送到服務(wù)器的數(shù)據(jù)。如果己經(jīng)不是 字符串,將自動(dòng)轉(zhuǎn)換為字符串格式。get請(qǐng)求中將附加在url后。防止這種自動(dòng) 轉(zhuǎn)換,可以查看processdata選項(xiàng)。對(duì)象必須為key/value格式,例如 fool:,barl"/foo2:,bar2h轉(zhuǎn)換為

3、&fool=barl&foo2=bar2c 如果是數(shù)組,jquery 將 自動(dòng)為不同值對(duì)應(yīng)同一個(gè)名稱。例如foo:rbat,“bar2“轉(zhuǎn)換為 &foo=barl&foo=bar2odatatype:要求為string類型的參數(shù),預(yù)期服務(wù)器返回的數(shù)據(jù)類型。如果不指定, jquery將自動(dòng)根據(jù)http包mime信息返冋responsexml或responsetext,并作為 回調(diào)函數(shù)參數(shù)傳遞??捎玫念愋腿缦拢簒ml:返hi xml文檔,可用jquery處理。html:返回純文木html信息;包含的script標(biāo)簽會(huì)在插入dom時(shí)執(zhí)行。 script:返冋純文本ja

4、vascript代碼。不會(huì)自動(dòng)緩存結(jié)果。除非設(shè)置了 cache參 數(shù)。注意在遠(yuǎn)程請(qǐng)求時(shí)(不在同一個(gè)域下),所有post請(qǐng)求都將轉(zhuǎn)為get請(qǐng)求。 json:返回json數(shù)據(jù)。jsonp: jsonp 格式。使用 sonp 形式調(diào)用函數(shù)時(shí),例如 myurl?callback=?, jquery 將自動(dòng)替換后一個(gè)“?”為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。text:返冋純文本字符串。beforesend :要求為function類型的參數(shù),發(fā)送請(qǐng)求前可以修改 xmlhttprequest對(duì)象的函數(shù),例如添加自定義http頭。在beforesend中如果 返回false可以取消本次ajax請(qǐng)求。xmlhtt

5、prequest對(duì)象是惟一的參數(shù)。function(xmlhttprequest)this;調(diào)用本次ajax請(qǐng)求吋傳遞的options參數(shù)complete:要求為function類型的參數(shù),請(qǐng)求完成后調(diào)用的回調(diào)函數(shù)(請(qǐng)求成功 或失敗時(shí)均調(diào)用)。參數(shù):xmlhttprequest對(duì)象和一個(gè)描述成功請(qǐng)求類型的字符串。function(xmlhttprequest, textstatus)this; 調(diào)用木次ajax請(qǐng)求時(shí)傳遞的options參數(shù)success:要求為function類型的參數(shù),請(qǐng)求成功后調(diào)用的回調(diào)函數(shù),有兩個(gè)參數(shù)。(1) 由服務(wù)器返冋,并根據(jù)datatype參數(shù)進(jìn)行處理后的數(shù)據(jù)。(

6、2) 描述狀態(tài)的字符串。function(data, textstatus)/data 可能是 xmldoc> jsonobj、htmk text 等等this; 調(diào)用本次ajax請(qǐng)求時(shí)傳遞的options參數(shù)error:要求為function類型的參數(shù),請(qǐng)求失敗吋被調(diào)用的函數(shù)。該函數(shù)有3個(gè) 參數(shù),即xmlhttprequest對(duì)象、錯(cuò)誤信息、捕獲的錯(cuò)誤對(duì)象(可選)。ajax事件函數(shù)如下:function(xmlhttprequest, textstatus, errorthrown)通常情況卜textstatus和errorthrown只有其中一個(gè)包含信息this;調(diào)用本次ajax請(qǐng)求

7、時(shí)傳遞的options參數(shù)contenttype:耍求為string類型的參數(shù),當(dāng)發(fā)送信息至服務(wù)器時(shí),內(nèi)容編碼類型 默認(rèn)為"application/x-www-form-urlencoded"o該默認(rèn)值適合大多數(shù)應(yīng)用場(chǎng)合。datafilter:要求為function類型的參數(shù),給ajax返冋的原始數(shù)據(jù)進(jìn)行預(yù)處理的 函數(shù)。提供data和type兩個(gè)參數(shù)。data是ajax返回的原始數(shù)據(jù),type是調(diào)用 jquery.ajax時(shí)提供的datatype參數(shù)。函數(shù)返回的值將由jquery進(jìn)一步處理。function (data, type)return data;global:要求

8、為boolean類型的參數(shù),默認(rèn)為true。表示是否觸發(fā)全局ajax事件。 設(shè)置為false將不會(huì)觸發(fā)全局ajax事件,ajaxstart或ajaxstop可用于控制各種ajax 事件。ifmodified:要求為boolean類型的參數(shù),默認(rèn)為false。僅在服務(wù)器數(shù)據(jù)改變時(shí) 獲取新數(shù)據(jù)。服務(wù)器數(shù)據(jù)改變判斷的依據(jù)是last-modified頭信息。默認(rèn)值是false, 即忽略頭信息。jsonp:要求為string類型的參數(shù),在一個(gè)jsonp請(qǐng)求屮重寫回調(diào)函數(shù)的名字。 該值用來(lái)替代在,callback=?,這種get或post請(qǐng)求中url參數(shù)里的"callback"部分,

9、例如jsonp:'onjsonpload'會(huì)導(dǎo)致將"onjsonpload=?"傳給服務(wù)器。username:耍求為string類型的參數(shù),用丁響應(yīng)http訪問認(rèn)證請(qǐng)求的用戶名。password:要求為string類型的參數(shù),用于響應(yīng)http訪問認(rèn)證請(qǐng)求的密碼。processdata:要求為boolean類型的參數(shù),默認(rèn)為true。默認(rèn)情況下,發(fā)送的數(shù) 據(jù)將被轉(zhuǎn)換為對(duì)象(從技術(shù)角度來(lái)講并非字符串)以配合默認(rèn)內(nèi)容類型 "application/x-www-form-urlencoded,o如果要發(fā)送dom樹信息或者其他不希望 轉(zhuǎn)換的信息,請(qǐng)?jiān)O(shè)置為fa

10、lseoscriptcharset:要求為string類型的參數(shù),只有當(dāng)請(qǐng)求時(shí)datatype為“jsonp”或者 "script",并且type是get時(shí)才會(huì)用丁強(qiáng)制修改字符集(charset)通常在本地和遠(yuǎn) 程的內(nèi)容編碼不同時(shí)使用。廢話少說(shuō),直接上代碼1利用ajax解析xmljavascript view plain copy$.ajax(type: 'post,url: 'http:/10.0.x.xx:8080/hello.xmrzdata:,idh: "i1; "type": "hello"data

11、type: *xmr,success: function(docxml) var root = $(docxml); var count = root.fi nd('co un t').text();先清空頻道列表子元素var $scroller = $("#tvlist-one");$scroller.empty();root.findf'program.eachffunction() var mydoc = document;var element = $(this);var cha nnel = ;cha nn el.type = eleme

12、ntchildren('type')text();channel.isfavorited 二 element.children('isfavoritecr)text(); var docfragment = mydoc.createdocume ntfragme nt();類型為channel且收藏if (channel.type = "channel" && channel.isfavorited = 1) channel.id 二 element.children('ict)text(); 二 el

13、ement.children('name').text();chan nel.playurl = eleme nt.childre ncplayuit).text();channel.logo = eval("(" + element.find("logo").html() + n)").url;/ con soleo g(cha rm el.logo);/ var charmelli = liximg class=nlogon src=u + cha nn el.logo + cha nnel.n ame/+ '<

14、;img class='favorite' src=" +favoritedlc on +、x/li>'var channelli = mydoc.createelement('li');channelli.innerhtml = 'vspan class=,tv-logo,ximg class=,logoh src=h + channel.logo + ,x/span>, + + '<span class=,ltv-favorite,ximg class="favorite

15、 src=h + favoritedlcon + 'x'x/span>;docfragme nt.appe ndchild(cha nn elli);$scroller.appe nd(docfragme nt););,error: function(xmlhttprequest, textstatus, errorthrown) alert('status code:' + xmlhttprequest.status);alert('ready state:1 + xmlhttprequest.readystate);alert('tex

16、t status:1 + extstatus);對(duì)應(yīng)的hello.xml文件:html view plain copy<aii><count>2</co unt><list><program><id>l</id>vn ame>xx</name<type>good</type><playurl>rtsp:/xx.lo.l.l/pltv/l.smil</playurl><encrypt>o</e ncrypt><isfavor

17、ited>0</isfavorited><logo>"url": "http:/10.0.x.xx:8080/image/l.png"</logo> </program><program><id>2</id><name>world</name><type>hello</type><playurl>rtsp:/xx.lo.l.lpltv/2.smil</playurl><encrypt>

18、;o</e ncrypt><isfavorited>l</isfavorited><logo>"url": "http:/10.0.x.xx:8080/image/2.png"</logo> </program></list></aii>2、利用ajax解析jsonjavascript view plain copy$.ajax(type: 'post1,url: ihttp:/10.0.3.x.xx:8080/xx/xx/hello.json,dat

19、a:'t: ,typeh: “hello”,datatype: json', success: function(data) 先清空列表子元素var $scroller = $("#tvlist-one");$scroller.empty();var mydoc = document;var docfragment 二 mydoc.createdocumentfragment();var count = datal'count1;var cha nne i list = data riist''progranv;var listlen

20、gth = channellistength;for (var i = 0; i < listlength; i+) var channel 二 channeilisti;if(channel.type=''channel'*)<spa n style=,white-space:pre,l></span> /string 轉(zhuǎn)成 json,兩種方式var logo = $.parsejson(channel.logo).url;/eval(,(h + channel.logo + jj.url;con soleo g(logo);var ch

21、annelli = mydoc.createelement(');channelli.innerhtml = 'vspan class=,tv-logo,ximg class=nlogoh src=h + logo + lx/span>" + ;收藏圖標(biāo)if (channel.isfavorited 二二 1) channelli.i nn erhtml+ 二f<spanclass=htv-favorite,ximg class二"favorite src=h + favoritedlcon + ,x/span>1;docfragme nt.appe ndchild(cha nn elli);$scroller.append(docfragme nt);,error: function(xmlhttprequest, textstatus, errorthrown) alert('status code:1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論