重定向到另一个页面在ajax调用中不起作用

时间:2013-08-12 07:14:34

标签: javascript jquery asp.net ajax

我在aspx页面上写了一个ajax post请求,它会调用在其代码后面编写的web方法。这个方法返回url重定向..所有工作正常直到ajax调用成功函数但是成功函数我是重定向到另一页面。

   window.location.assign(data.d)

我已经通过成功函数中的alert检查了data.d结果,该函数显示了正确的url但是它没有重定向到那个页面..Plz help ..

完整代码在这里..

这是脚本:

 <script type="text/javascript">
        jQuery(document).ready(function() {
            $('#loginbtn').click(function() {
                var userName = document.getElementById('uid').value;
                var password = document.getElementById('pwd').value;
                $.ajax({
                    type: "POST",
                    url: "testAjax.aspx/Authenticate",
                    data: JSON.stringify({ userName: userName, password: password }),
                    async: false,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(data) { window.location.assign(data.d); },
                    error: function(e) {
                        alert(e.valueOf());
                    }
                });
                //alert("dsf");
            });

        });
    </script>

以下是网络方法:

 [WebMethod]
        public static string Authenticate(string userName, string password)
        {
            try
            {
                return "Home.aspx";
            }
            catch (Exception ex)
            {
                return string.Empty;
            }

        }

请注意:如果我取消注释警报(“dsf”),一切正常,它会成功重定向到Home.aspx ..但没有此警报它不会重定向。

2 个答案:

答案 0 :(得分:0)

试试这个

success: function(data) {  window.location=data.ToString(); }

答案 1 :(得分:0)

试试这个

<script type="text/javascript">
    jQuery(document).ready(function() {
        $('#loginbtn').click(function() {
            var userName = document.getElementById('uid').value;
            var password = document.getElementById('pwd').value;
            $.ajax({
                type: "POST",
                url: "testAjax.aspx/Authenticate",
                data: JSON.stringify({ userName: userName, password: password }),
                async: false,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(data) { window.location=data.d; },
                error: function(e) {
                    alert(e.valueOf());
                }
            });
            //alert("dsf");
        });

    });
</script>