苹果手机 ajax不兼容,ajax异步请求出错,火狐不兼容问题,求高手解答

博主遇到一个火狐浏览器下Ajax异步请求出错的问题,经分析可能是由于状态码非200导致。在IE下程序正常运行,但在火狐下请求直接进入错误处理部分。网友建议检查后台文件是否能正常运行,并在Firefox控制台查看具体错误信息。问题集中在`xmlhttp.open()`的异步设置和响应处理上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ajax异步请求出错,火狐不兼容问题,求高手解答

关注:260  答案:2  信息版本:手机版

解决时间 2019-01-15 09:27

暗中人

2019-01-14 10:51

先看代码:

var xmlhttp = false;

try {

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e2) {

xmlhttp = false;

}

}

if (!xmlhttp && typeof(XMLHttpRequest)!= 'undefined') {

xmlhttp = new XMLHttpRequest();

}

function Ajax(data){

xmlhttp.open("GET","http://127.0.0.1/register/user_ck.php?username="+data,true); //注意问题似乎从这里开始的

xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlhttp.send(null);

document.getElementById('end1').className = "show1";

document.getElementById('end1').innerHTML = process_request;//显示状态

xmlhttp.onreadystatechange=function(){

if (4==xmlhttp.readyState){

if (200==xmlhttp.status){

var responseText = xmlhttp.responseText;

if (responseText=="true" ){

ck_user("true");

}

else{

ck_user("false");

}

}else{

alert("发生错误111");

}

}

}

}

自我分析:xmlhttp.open("GET","http://127.0.0.1/register/user_ck.php?username="+data,true);应该是这句代码的问题 网上说这里的true代表的是异步请求!根据这个设置代码在ie下是正常的!但是在火狐下程序运行到if (4==xmlhttp.readyState){ if (200==xmlhttp.status)这里开始出现的问题 因为火狐直接运行alert("发生错误111");了这句代码!应该表示异步请求失败了吧?或者似乎是因为responseText返回的值是空!

那应该怎么处理火狐下的这个异步请求问题啊! 求救高手了 我都熬了一宿 也没弄明白

最佳答案

十年萤火照君眠

2019-01-14 11:12

根据楼主的描述,你在请求时弹出了.发生错误111 这就说明后台返回的状态码不是200.而你又说,在IE下该程序正常运行.

那就说明,文件是存在的,但是发生了错误.比如说500错误.

楼主检查一下后台文件是不是能正常运行.如果报错了,会有你这样的提示的.FF下可以在控制台查看返回的什么错误.

全部回答

1楼由着我着迷

2019-01-14 11:56

我们知道。。我们在接收数据的时候。都是都是一步一步进行的。这个动作完成之后,再进行下一个动作。就像我们html一样。我们是接收一行,执行一行。但是ajax它是异步的。

也就是说,他可以在这个地方不停下来等ajax返回数据,这时它可以在服务器处理我们的ajax请求时,仍然执行我们下面的内容。

我们在执行ajax请求的时候。可能还会执行其它的请求。或者操作。你不是同步就得到数据的。。

我要举报

如以上问答内容为色情/暴力/低俗/不良/侵权等信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

大家都在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值