A. ajax获取数据,后端传回的数据有时格式错误,或者其他问题,前端怎么判断并弹出错误
前端的js错误要catch住嘛。。
catch住有错误,可以告诉用户,服务器出错,请重试
B. Ajax根据后台返回值判断请求成功还是失败
这个应当是ajax请求超时了,ExtJS做Ajax请求的时候,默认的相应时间是30秒,如果后来数据查询时间超过30秒,ExtJS就会报错,这就需要在Ajax开始后设置连接超时时间限制:
Ext.onReady(function() {
Ext.Ajax.timeout = 时间超时设置值,单位秒;
}
C. jquery ajax 怎么判断请求失败
请求失败的定义应该是限定时间内服务器没有返回数据。
你需要定义一个超时时间,比如5秒
在发起请求时,用setTimeout定义一个5秒后执行的函数,这个函数被执行了,就表示超时
在success回调函数里面调用clearTimeout 清除延时函数,这样如果请求在5秒内成功,超时函数就不会被执行了
另外,在超时回调函数里面调用 abort 终止超时的请求,免得超时回调函数执行了,到第5秒之后更长时间,请求返回了,success就执行了。
D. 如何检测ajax因网络断开或延时导致的错误并重连
$.ajax({
async:true,//true异步,false同步
url:'',
data:$(this).serialize(),
type:'get',
dataType:'json',//xml,html,script,json,jsonp,text
complete:function(XHR,TS){alert('complete');},//完成回调函数(XHR,TS)
error:function(XMLHttpRequest,textStatus,errorThrown){
//XMLHttpRequest.readyState:
//0-(未初始化)还没有调用send()方法
//1-(载入)已调用send()方法,正在发送请求
//2-(载入完成)send()方法执行完成,已经接收到全部响应内容
//3-(交互)正在解析响应内容
//4-(完成)响应内容解析完成,可以在客户端调用了
//XMLHttpRequest.status:
//textStatus:"timeout","error","notmodified"和"parsererror"。
//(0)null
//(1)timeout超时
//(2)error
//(3)notmodified未修改
//(4)parsererror解析错误
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
},//默认值:自动判断(xml或html)。请求失败时调用此函数。有以下三个参数:XMLHttpRequest对象、错误信息、(可选)捕获的异常对象。
success:function(response){alert('success');}
});
可以通过error的状态来判断请求状态,来做异常处理。
E. jquery或者js如何判断当前网络是否畅通,我的页面是给手机用的
可以用jquery模拟下载一个文件,然后限定时间,如果在这个限定时间内,下载完,就说明网络是畅通的,如果超时,就说明网络是不畅通的。
F. $.ajax 执行时如何判断网络是否断线
我觉得上面的回答,理论上可行,但是实际操作时不靠谱
每次请求之前都还要想后台请求一次,开销问题不容小觑
而且实际上,你也不能保证上次请求成功了就代表这次请求时还是保持网络畅通
我的解决方案是设置一个ajax的执行时间
如果网络拥堵或断开时,客户端这头超过了规定时间即提示用户
$.ajax({
url:"xxx",
//1秒后超时
timeout:1000,
error:function(xmlHttpRequest,error){
//提示超时或操作失败
}
});
你用的本身就是jquery的框架,只要版本高,就不会出现兼容性问题
G. ie浏览器ajax请求异常
在ie9以下,你就要用兼容性写法了。先确保js中不报错,js报错了就很容易不往下执行了。再看ajax参数格式是不是写错了,再看ajax的一些基本属性写没写,再找不到就打断点一个一个地方测,最后在考虑是不是兼容性问题
望采纳
H. jquery ajax 怎么判断请求异常
responseTxt - 包含调用成功时的结果内容
statusTXT - 包含调用的状态
xhr - 包含 XMLHttpRequest 对象
下面的例子会在 load() 方法完成后显示一个提示框。如果 load() 方法已成功,则显示"外部内容加载成功!",而如果失败,则显示错误消息:
实例
$("button").click(function(){
$("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){
if(statusTxt=="success")
alert("外部内容加载成功!");
if(statusTxt=="error")
alert("Error: "+xhr.status+": "+xhr.statusText);
});
});
I. 有关Jquery ajax 提交后返回值异常的问题 请大神帮看一下哪里出问题了
这个符号我也遇见了,原因是返回的字符串中有"\1",这是其中一个原因。欢迎追问。