jQuery Ajax 筆記

爲了個破功能..非要用ajax..
正好學一學..

1. $.get(url,[data],[callback]) 的回調函數很詭異...
最好用$.post(url,[data],[callback])
例:

$.post("test.jsp","a=1",function(){
alert('hello world');
});



$.get("test.jsp","a=1",function(){
alert('hello world');
});
這個莫名其妙的...一會兒好用一會兒不好用..等搞明白再來糾正..


2.$.ajax(),這個當數據是xml的時候,dataType:xmlDocument,這個時候數據可以正常顯示。
例如:

<packet version="1.0.0">
<item>english</item>
</packet>


$.ajax({
type: "POST",
url: "xx.xml",
dataType:"xmlDocument",
timeout:10000,
success: function(xml){
alert( "Data Saved: " + xml );
var value=$(this).find('item').text();
alert(value);
}});

如果dataType=xml,則什麼都不顯示了...這個地方也沒看懂.API上明明寫的 dataType "xml": 返回 XML 文檔,可用 jQuery 處理。

3.跨域問題,當上面的url地址不是同一個域名下的時候.就會顯示禁止訪問資源,目前解決辦法:修改IE的Internet選項-安全-自定義級別-跨域訪問資源 改爲啓用..此問題尚待解決!!


$.ajax( {
url : "xx1.xml",
success : function(xml) {
var val=$(xml).find("data[name='data']>item>count_view").text();
alert(val);
}
});

xx1.xml:

<packet version="1.0.0">
<status>success</status>
<data name="data">
<item>
<id>4b6a3c233b4cb</id>
<count_view>41</count_view>
<updated>2010-03-04 17:08:28</updated>
</item>
</data>
</packet>

可以得到結果41.

如果跨域訪問:

$.ajax( {
url :"http://video.guoshi.com/rest-video?id=4b6a3c233b4cb",
success : function(xml) {
var val=$(xml).find("data[name='data']>item>count_view").text();
alert(val);
}
});

就得不到結果.... 不明白...

如果 添加一個 type="POST",

$.ajax( {
type:"POST",
url :"http://video.guoshi.com/rest-video?id=4b6a3c233b4cb",
timeout:10000,
success : function(xml) {
var val=$(xml).find("data>item>count_view").text();
alert(val);
}
});

這樣就可以取到值爲41..前提:修改IE的跨域資源訪問爲啓用.


…………
邊學習邊補充~~
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章