sonyfe25cp 发表于 2013-1-29 12:05:58

jQuery Ajax 笔记

为了个破功能..非要用ajax..
正好学一学..

1. $.get(url,,) 的回调函数很诡异...
最好用$.post(url,,)
例:$.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>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>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的跨域资源访问为启用.


…………
边学习边补充~~
页: [1]
查看完整版本: jQuery Ajax 笔记