1

我正在使用jQuery Form插件来处理通过 Ajax 提交的表单:

$('.login-form').ajaxForm({
    dataType: 'json',
    success: function(data){
        console.log('Success!');
        console.log(data);
    },
    error: function(data){
        console.log('There was an error:');
        console.log(data);
    }
})

提交后,ajax 返回错误,状态为“200”。这是 JSON 格式的响应:

{
    "success": false, 
    "heading": "The following errors were encountered", 
    "message": "<ul><li>The existing username and/or password you submitted are not valid</li></ul>"
}

我通过jsonlint.com运行它,它返回有效。

在 Chrome 的网络选项卡中,响应返回为 type application/json

那么为什么 ajax 返回的是“错误”而不是“成功”呢?

jQuery 1.9.1

4

1 回答 1

1

JSONmessage键的值里面有一个换行符,由于某种原因导致了一个错误:

{
    "success": false, 
    "heading": "The following errors were encountered", 
    "message": "<ul><li>The existing username and/or password you submitted are not valid</li>
</ul>"
}

我认为字符串内的换行符并不重要,但我想他们确实......

于 2013-09-04T19:07:36.910 回答