JQuery Post不能使用json数据类型

时间:2012-10-24 20:48:02

标签: php javascript jquery

我在javascript中有这段代码:

$.post('AccessDB.php', {add:add, seriesid:seriesid, lang:lang}, function(data) {
            alert(data);

            if (data.returned == "Verified"){

                notification('Success notification');
            } else if (data.returned == "NotVerified") {

            notification('Oh noes! Something went wrong', true);

            }
        }, "json");

我按下按钮时打电话,然后在AccessDB.php我这样做以返回值:

echo json_encode(array('returned' => 'Error'));

但是从javascript返回的提醒是:

[object Object] 

并且不是值Error,而是如果我从javascript中删除"json"警报中的值是:

{"returned":"Error"}

但是我无法处理这个值,因为我删除了json数据类型,任何人都可以告诉我如何修复它?

3 个答案:

答案 0 :(得分:3)

JSON是一个对象。尝试:

alert(data.returned);

答案 1 :(得分:1)

alert()所做的是接受您传入的变量并将其转换为字符串。

执行myObject.toString()时,它会返回[object Object],这是预期的行为。您不会通过警报查看对象中的内容。

使用console.dir(data)console.log(data)获取该信息。

答案 2 :(得分:0)

您的JSON响应已转换为JavaScript对象。当您提醒正常的JavaScript对象时,它将显示为[object Object]。您仍应该能够访问该对象的属性。例如,尝试alert(data.returned)