ajax返回[object,object],layer多层嵌套的错误

            $.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返回[object,object],layer多层嵌套的错误_第1张图片

可见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();

你可能感兴趣的:(java)