$.ajax({
type:'POST',
dataType:'JSON',
async:false,
data: {},
url: 'xxx',
contentType: 'application/json',
success: function (data) {
alert(data);
},
error: function (data) {
alert(data);
},
});
使用ajax时,发现返回的数据是[object,object]。
对data解析之后,如下:
可见ajax响应的是error。
查看返回的信息:
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(XMLHttpRequest);
console.log(XMLHttpRequest.readyState);
console.log(textStatus);
console.log(errorThrown);
}
发现 XMLHttpRequest.readyState=0
可见请求发生了错误,但是仔细检查之后,发现url没有错误,数据格式也没有错误。
解决方法:
由于ajax默认采用的是异步发送数据,也就是ajax没有执行完毕就可以回调了,这就导致了ajax的错误。
因此只要加上 async:true 即可。
layer在open了一个新页面后,如果在新页面又调用了layer,比如调用了layer.msg,就会导致layer.msg消失得非常快,基本看不见。
解决方法:
使用 parent.layer.msg();