六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 35|回复: 0

jQuery Ajax 笔记

[复制链接]

升级  26%

23

主题

23

主题

23

主题

秀才

Rank: 2

积分
89
 楼主| 发表于 2013-1-23 02:12:24 | 显示全部楼层 |阅读模式
为了个破功能..非要用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的跨域资源访问为启用.


…………
边学习边补充~~
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表