jQuery.post .fail(.error)函数比它应该更快地执行并接收格式错误的json

时间:2013-04-02 15:19:49

标签: jquery wordpress post error-handling

我正在为WordPress写一篇ajax形成的评论帖,这是我到目前为止所做的:

$.post('wp-comments-post.php', { data: Data, },
    function(result) {
        do_success_staff();
    })
    .fail(function(out) {
        do_fail_staff;
    });

处理.fail(function(out)时,我收到了意想不到的结果。 wp-comments-post.php会根据错误返回不同的答案,例如“如果您将其留空,请写下您的评论”或如果您输入的电子邮件地址不正确,请“输入有效的电子邮件地址” 。但是,我收到的结果如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>error</title>
<style type="text/css">
    your css goes here
</style>
</head>
<body id="error-page">
<p><strong>error</strong>: write your comment.</p></body>
</html>

因此,我尝试处理错误答案,以便向用户显示:

.fail(function(out) {
    var error_value = $(out).find("p");
        $("div#error").text(error_value);
    });

问题是它返回内部服务器错误(500页)而不是预期结果。你怎么看待这个问题?我认为错误页面是在浏览器解析之前收到的!关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

非常感谢Kevin B解决了我的问题。这个问题的继续及其答案如下:

do you know type of code this is and how to parse it with jQuery?