jQuery AJAX没有评估JSON响应

时间:2013-12-30 23:38:31

标签: javascript jquery ajax

我有一个数组,我可以在console.log(响应)中看到:

{"status":"success","message":"Success! You will get an email shortly, please confirm your email address and you will then recieve your 50% discount coupon a few days before launch!"}

我的AJAX是:

$.ajax({
    url: 'includes/store-address.php',
    data: 'ajax=true&email=' + escape($('#email').val()),
    success: function(response) {
        console.log(response);
        console.log(response.status);
        console.log(response.message);
        if(response.status == "success"){                               
            $('#note').html(response.message);
        }
    }
});

但是console.log .status和.message返回undefined。我很可能在这里错过了一些简单的东西,但如果有人能发现为什么会很棒

提前致谢

1 个答案:

答案 0 :(得分:1)

添加dataType: 'json'

  

“json”:将响应评估为JSON并返回JavaScript   宾语。 JSON数据以严格的方式解析;任何格式错误的JSON   被拒绝并抛出一个解析错误。截至jQuery 1.9,一个空的   回应也被拒绝;服务器应返回null响应   或{}代替。 (有关正确JSON的更多信息,请参阅json.org   格式化。)

$.ajax({
    url: 'includes/store-address.php',
    data: 'ajax=true&email=' + escape($('#email').val()),
    success: function(response) {
        console.log(response);
        console.log(response.status);
        console.log(response.message);
        if(response.status == "success"){                               
            $('#note').html(response.message);
        }
    },
    dataType: 'json' //Add this

});