【问题标题】:jquery ajax callback difficultyjquery ajax回调难度
【发布时间】:2011-11-30 14:55:49
【问题描述】:

我有以下代码:

$.ajax({
                // type: "POST",
                url: webMethod,
                data: $.toJSON(params),
                // dataType: "json",
                // contentType: "application/json",
                success: function (obj) {

                    if (obj == 1) {
                        window.location = 'Postpaid/Dashboard';
                        // $.mobile.changePage('#dashboard', 'slide', false, true);
                    }
                    else if (obj == 0) {
                        window.location = 'Prepaid/Dashboard';
                    }
                    else if (obj == -1) {
                        window.location = 'Home/Index/#login1';
                    }
                    else {
                        $.mobile.changePage('#login2', 'slide', false, true);

                        $('#txtMSISDN2').val(obj.Pin.MSISDN);
                        $('#txtPin').val(obj.Pin.PIN);
                        $('#txtMSISDN2').attr('readonly', 'readonly');
                    }
                },
                error: function () {
                    alert('error returned.');
                }
            });

从方法中我返回一个标志整数。我想根据返回的 int 将用户重定向到相应的网页。但是,此代码不起作用。有什么建议吗?

我在这里错误地使用了 window.location 吗?非常感谢!

提前致谢!

【问题讨论】:

  • 您是否验证过obj 确实是一个整数,而不是像 {'x': 1} 之类的东西?
  • obj 包含什么?它是在成功范围内,还是失败了?究竟是什么不工作
  • 该方法返回一个确定的整数。我在响应中使用 Firebug 进行调试时检查了这一点。 if 语句确实注意执行。一个都没有。。
  • 我猜应该是 window.location.href = ....
  • 如果您将alert(obj); 作为success 的第一行,它会发出什么警报?

标签: asp.net-mvc jquery jquery-mobile


【解决方案1】:

我的反馈...

  1. 数据可以直接是你的参数,不需要使用$.toJSON

  2. 添加一个 console.debug(obj) 以查看 JQM(而不仅仅是 Fiddler)真正返回的内容

  3. 将那些 window.location 替换为 $.mobile.changePage,这就是它存在的原因(并且还会为您处理其他事情)

一旦您告诉我们 #2 返回的内容,我们将能够为您的问题提供更好的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 2011-12-01
    • 2011-02-20
    • 2011-09-21
    • 2016-08-19
    相关资源
    最近更新 更多