【问题标题】:jQuery 1.4.2 postnot working the same way as in 1.3.2jQuery 1.4.2 postnot 工作方式与 1.3.2 相同
【发布时间】:2011-04-04 11:00:50
【问题描述】:

我刚刚更新到 1.4.2,现在所有之前的工作都没有了。我不知道为什么。

var data = {
    'what': 'post',
    'type': $(this).attr('class'),
    'id': $(this).next('input').val()
}

$.post(
'/utils/ajax/', 
    data, 
    function(response) {
        alert(response.result);

    }, 'json'
);

现在看起来(更新后)我什至无法进入成功函数,尽管萤火虫说一切都很好并显示了返回的字符串。如果这对我使用 django 有帮助。

感谢任何想法

问候

【问题讨论】:

    标签: jquery django post


    【解决方案1】:

    您的问题可能是 JSON goes through much stricter validation in jQuery 1.4+,您的 JSON 响应必须有效,否则它将静默失败。在此处检查来自服务器的响应以确保其有效:

    http://www.jsonlint.com/

    如果不是这样...当您解决问题并生成有效的 JSON 时,您的 success 函数将再次起作用:)

    【讨论】:

    • 同意 - 单引号打破了它
    • @Mike - 哦,他只是在那里创建一个对象,应该没问题(无论如何它都会被序列化)......我打赌的服务器响应不是:)
    • 当我(在 django 部分)更改为“。伙计们?有什么区别?大声笑
    • 这是对 JSON 的严格解释。服务器端 ' 可以表示字符,而 " 表示字符串。那里有很大的区别,如果 jQuery 遵循严格的规则,那就可以解释了。
    猜你喜欢
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 2013-08-09
    • 2020-05-16
    • 1970-01-01
    相关资源
    最近更新 更多