ajax异步请求出错,火狐不兼容问题,求高手解答
先看代码:varxmlhttp=false;try{xmlhttp=newActiveXObject("Msxml2.XMLHTTP");}catch(e){try{xm...
先看代码:
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返回的值是空!
那应该怎么处理火狐下的这个异步请求问题啊! 求救高手了 我都熬了一宿 也没弄明白 展开
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返回的值是空!
那应该怎么处理火狐下的这个异步请求问题啊! 求救高手了 我都熬了一宿 也没弄明白 展开
展开全部
您好!很高兴为您答疑!
错误111, 这就说明后台返回的状态码不是200。检查一下后台文件是不是能正常运行.如果报错了,会有提示的.火狐下可以在控制台查看返回的什么错误。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
错误111, 这就说明后台返回的状态码不是200。检查一下后台文件是不是能正常运行.如果报错了,会有提示的.火狐下可以在控制台查看返回的什么错误。
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询