怎样解决jquery ajax不兼容ie8的问题
jquery ajax不兼容ie8的解决方法:第一翻开响应的代码文件;然后使用JSON格局恳求数据,其代码语句如“{foo:["bar1", "bar2"]}”。
本教程操纵环境:Dell G3电脑、Windows7系统、jquery1.10.0&&ie8版本。
引荐:《javascript根基教程》《jquery视频教程》
关于jQuery的AJAX不兼容IE的解决方法
在使用jQuery的AJAX:get办法去检测数据可否存在时,会发明IE会显现不兼容的状况。
用AJAX:post办法时,使用Chrome/FireFox/IE均能显现准确的结果,但是在使用AJAX:get办法时,IE却不克不及返回准确的结果。
难道是数据超出了get办法的限制的长度,这个也不成能,我总共才传了一点点数据。排除。
网上一些网友说是IE缓存的问题,在恳求数据后边加上随机数就行,比方加上时间数new Date().getTime()。
先前的代码中我已经增加了随机数,用的是“Math.random()”也不可。难道用时间比力靠谱?
那就改成猎取时间试试,在参数后加“new Date().getTime()”后重复测试还是不可,真是百思不得其解!这个错误也排除了。
重复查看手册后发明恳求的数据格局还是有一种JSON格局,如{foo:["bar1", "bar2"]} ,然后就依照这种格局书写,还真的返回了准确的查询结果。真不知道IE还有这点要求。(完)
先前的格局:
type: "get", data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp="+new Date().getTime(),
改善后格局:
type: "get", data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()},
在jQuery手册中是这样描写的:
data Object,String
发送到效劳器的数据。将主动转换为恳求字符串格局。GET 恳求中将附加在 URL 后。
查看 processData 选项说明以制止此主动转换。必需为 Key/Value 格局。
假如为数组,jQuery 将主动为不一样值对应统一个名称。如 {foo:["bar1", "bar2"]} 转换为 "&foo=bar1&foo=bar2"。
代码片段:
var siteUrl="http://blog.sina.com.cn/cnwyt"; jQuery.ajax({ type: "get", url: siteUrl+"cosmetics/product/ajax_check?", //data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp=" + new Date().getTime(), data: {'bid':my_bid,'name_cn':name_cn,'timeStamp':new Date().getTime()}, dataType: 'json', error: function (err) { alert('网络故障,请与治理员联络!') }, success: function (message) { if(message!=false){ //ture的代码 }else{ //false的代码 } });
以上就是怎样解决jquery ajax不兼容ie8的问题的具体内容,更多请关注百分百源码网其它相关文章!