正在读取json结果,同时使用ajax进行错误的请求应答



如果用户没有正确填写表单,我想通过ajax向他发送一个错误。

这就是我通过ajax将答案发送到浏览器的方式:

if($bo){
    header('HTTP/1.1 400 Bad Request');
    header('Content-Type: application/json; charset=UTF-8');
    $error['message'] = 'Some error message';
    echo json_encode($error);
    die;
}

这是我的jquery脚本:

$.ajax(
            {
                url: formURL,
                type: "POST",
                data: postData,
                success: function(data, textStatus, jqXHR)
                {
                    // some code ...
                },
                error: function(data, jqXHR, textStatus, errorThrown)
                {
                    // how to get message here json{"message":"some_message"}
                    var jsonObj = JSON.parse(data);
                    $r = jsonObj.message;
                    alert($r);                    
               }
            });

我可以使用firebug控制台看到消息,但我不知道如何获得包含我的错误的变量:/

有什么建议吗?

感谢

首先,我建议使用return而不是echo & die。它更整洁,给人以封闭感。

第二,不需要用javascript解析json,它就像巧克力一样,它只需要理解。只需在ajax输入对象中使用accept: application/jsonjsonp,然后使用data.message

这两个技巧结合起来应该能解决你的问题。

谢谢大家。

我想我已经找到了解决办法。访问消息值:

error: function(data, jqXHR, textStatus, errorThrown) 
        {
            console.log(data.responseJSON.message);
        }

最新更新