jquery ajax兼容IE8,jquery ajax不兼容ie8怎么解决?

jquery ajax不兼容ie8怎么解决?下面本篇文章给大家介绍一下关于jQuery的AJAX不兼容IE的解决办法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

4a10a944f6b5a95979f397416a4c62ff.png

关于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的代码

}

});

更多web前端知识,请查阅 HTML中文网 !!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值