Mysql为什么要用火狐或者谷歌_当火狐,谷歌正常而IE和 360 浏览器直接对$.ajax执行error而不执行 success时...

当火狐,谷歌正常而IE和 360 浏览器直接对$.ajax执行error而不执行 success时,首先明摆 着 是不兼容问题。那么原因在哪?苦逼的码农难免要做一会名侦探 柯南,福尔摩斯什么的。

由于不怎么用IE调试了,都用的火狐,所以HTTPwatch自然也就打入冷宫了,也就没用它查看请求了。。

于是,,,然后。。。。。做了一 系列的折腾:

首先,代码是这样的:

function studentModiChoose(chooseId)

{

var currentAjax = $.ajax({

url:'',//index.php?mod=order&act=getinfo

data:{'flag':'studentModiChoose','chooseId':chooseId},

type:"post",

cache : false,

beforeSend: function(){

},

success: function(data){

try{var myObject = eval('(' + data + ')');}catch (ex){return ;}

if (myObject["rtn"] == "ok")

{

showstudentDivbyChoose(myObject["data"]);

}

else

{

alert(myObject["error_txt"]);

}

},

timeout:30000,

error: function(data){

currentAjax.abort();

}

});

}

在IE一跑,呀,报的是“currentAjax 不是对象或者对象为空”,那果断一 想啊,IE是不是小时候被爆过菊长大了有阴影不喜欢这个家伙啊,于是啪啪给注释了。

29302d35a49d6095fb62513b90805a49.png

这个时候一跑,咦,啥也不反应了,动也不动,装死啊。

于是用 alert()跟了一下执行,发现直接 不执行success 而  error。而我们知道很多时候这种情况的出现是URL没有写对,余光瞄了一下,url:'';这人是对的啊,当前文件嘛,火狐和谷歌都知道(万万没想到IE的智商。。。居然不认'')。

于是啊怀疑请求头类型,发现contentType请求前后不一致,但是contentType:text/html,发现不起作用,值没有改变,为什么呢?因为。。。。吧啦吧啦。。。

5a9cceab4eb053d5082ccf7ea0bc9e7b.png

怀疑json数据的格式不标准,于是想用console.log()搞出点农夫山 泉来看看是不是甜的。哇靠,在控制台搞出来的是这个叼样子

915fce33bcf8f72b72eb3aaebe66f372.png

谁说IE的console.log()函数会报错的。什么?我用的是哪个版本?8.0.7****.

发现这没得玩啊,于是也考虑了什么json数据单双引 号问题,在外部加 ()问题,最终还是未果。

在error输出data,还搞 出错来:

057173f89abea2bedf1c7eeaa8183a3d.png

真是屎可忍,尿也不可忍。

最后实在没招 了,死马 当活牛医。

url:'index.php?mod=order&act=getinfo',

这样就OK了。!!!

而且改完之后发现:var currentAjax = $.ajax({})的var currentAjax 不是对象或为空也不报了,真的是腰不疼 腿不酸了,那啥也有劲了。

总结:

很多时候ajax直接执行error只是地址写错问题。PS:地址写错还有一种常见现象就是直接返回了整个页面内容。

而 这次遇到的是IE和360不兼容问题,绕了个大圈 ,最终 还是地址的问题。

IE和360不接受''这样的URL提交到当前页面,它 默认为空。所以直接 error了。

这点要注意以后编码的时候特别注意,因为其他浏览器正常很容易忽略这个隐含的不兼容BUG。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值