美文网首页
关于ajax请求一直进error的坑

关于ajax请求一直进error的坑

作者: 只诉温暖不言殇_cc03 | 来源:发表于2018-10-22 17:05 被阅读0次

    测试环境发现了一个bug,接口在请求成功之后依然会弹出error()方法中的消息,网上试了各种方法比如去掉dataType,打印error参数结果都不好使。

    最后发现ajax请求设置了async: false同步属性,去掉这个参数就好了,代码如下

    $.ajax({

                                type: "post", // 请求方式

                                url: "<%=ucenterUrl%><%=EncryptLink.encryptLink("/注册接口",-1)%>",

                                data: JSON.stringify({"phone": username, "password": password, "parentId": "<%=parentID%>", "code": checkcode, "registerName": name}),

                                //async: false, // 是否异步注释掉这行代码为了接口请求一直进error的问题

                                timeout: 20000, // 超时时间:3秒

                                dataType: "json",

                                contentType: "application/json; charset=utf-8",

                                // 请求成功后的回调函数 data为json格式

                                success: function (data) {

                                    try {

                                        dataObj = eval("(" + data + ")");//转换为json对象

                                    } catch (e) {

                                        dataObj = data;

                                    }

                                    if (dataObj.status == "200") {

                                        $.ajax({

                                            type: "post",

                                            url: "<%=ucenterUrl%><%=EncryptLink.encryptLink("/登录接口",-1)%>",

                                            data: JSON.stringify({"phone": username, "password": password, "userId": "<%=userId%>"}),

                                            //async: false, // 是否异步

                                            timeout: 20000, // 超时时间:3秒

                                            dataType: "json",

                                            contentType: "application/json; charset=utf-8",

                                            success: function (data) {

                                                try {

                                                    dataObj = eval("(" + data + ")");//转换为json对象

                                                } catch (e) {

                                                    dataObj = data;

                                                }

                                                if (dataObj.status == "200") {

                                                    $("#circlecon").hide();

                                                    var userId = dataObj.body.id;

                                                    var token = dataObj.body.token;

                                                    $.cookie("userId", userId);

                                                    name = encodeURIComponent(name);

                                                    var returnHref = encodeURIComponent("<%=returnHref%>");

                                                    // 修改注册页面跳转路径

                                                    window.location.href = encodeURI("<%=path%>/html5/loginNew/authentication.jsp?userId=" + userId + "&activityId=<%=activityId%>&name=" + name + "&isReg=" + isReg + "&activityType=" + activityType+"&returnHref="+returnHref+"&token="+token);//跳转认证页面

                                                }

                                                if (dataObj.status == "500") {

                                                    $("#circlecon").hide();

                                                    //$("#login").attr("href", "javascript:login()");

                                                    $("#logmsg").html(dataObj.message);

                                                    $("#logmsg").slideDown();

                                                }

                                            },

                                            error: function () {

                                                // ajax请求出错执行的内容

                                                $("#circlecon").hide();

                                                alert('请求超时,请稍后重试!')

                                            }

                                        });

                                    }

                                    if (dataObj.status == "500") {

                                        $("#circlecon").hide();

                                        $("#regMsg").html(dataObj.message);

                                        $("#regMsg").slideDown();

                                    }

                                },

                                // 请求出错的处理

                                error: function () {

                                    $("#circlecon").hide();

                                    alert('请求超时,请稍后重试!')

                                }

                            });

    相关文章

      网友评论

          本文标题:关于ajax请求一直进error的坑

          本文链接:https://www.haomeiwen.com/subject/ftpkoftx.html