0

在下面的 JavaScript 函数中,当我使用 firebug 'windows.location' 逐行调试时,它工作得很好,它会重定向到给定的链接。但是当我在没有使用firebug调试的情况下运行它时,即使密码和用户名正确,页面重定向也不会发生。谁能解释我为什么?

<script type="text/javascript">
    $(document).ready(function () {
        $('#btnSubmit').click(function () {
            var uname = $('#txtUserName').val();
            var Password = $('#txtPassword').val();
            if (uname != null && Password != null) {
                $.ajax({
                    type: "get",
                  data: { type: "login", Uname: uname, Pword: Password,ran:Math.random() },
                    contentType: "application/json",
                    url:"/CreatePdf.ashx",
                    success: function (result) {
                      if(result=='1')
                      {
                        window.location = "/home.aspx";
                      }
                    }
                });
            }
            else {
                document.getElementById('spPassword').innerHTML = "Please Enter Username/Password";
            }
        });
      });
</script>
4

1 回答 1

1

要么从不调用 success 函数(因为 ajax 的问题),要么result参数不是 string "1"。我们没有水晶球来查看发生了什么,因此您必须自己调试它:

$.ajax({
    …,
    success: function (result) {
        console.log("result: ", result);
        if(result=='1')
             window.location = "/home.aspx";
    },
    error: function(jqXHR, status, error) {
        console.log("Ajax failed with "+status+" due to "+error);
    }
);

还可以使用开发人员工具的网络面板检查服务器是否发送了预期的响应。

于 2013-01-07T20:48:17.853 回答