success回调函数永远undefined

Jquery的ajax是异步的,所以大多时候没执行完AJAX就return htmlcontent了,所以会一直返回undefined,
解决方法:添加async: false,即修改此方法为同步

                var bol=false;
                $.ajax({
                    url: "checkUsername",
                    type: "POST",
                    data: {"username": username, "authority": authority},
                    async:false,
                    success: function (data) {
                        if (data.username == username) {
                            $("#usernameExist").text("账号已存在");
                            $("#usernameExist").css("color", "red");
                            bol= false;
                        } else {
                            $("#usernameExist").text("账号可入库");
                            $("#usernameExist").css("color", "green");
                            bol= true;
                        }
                    }
                })
                return bol;

你可能感兴趣的:(前端学习)