正好學一學..
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的跨域資源訪問爲啓用.
…………
邊學習邊補充~~