使用jQuery从PHP页面输出JSON

时间:2016-09-18 22:42:26

标签: jquery json ajax

我有一个输出一些JSON的PHP页面。页面加载后,我想使用jQuery AJAX输出JSON。然而,一切都没有发生。 alert()对话框不会出现,也不能与JavaScript控制台一起使用。我的jQuery AJAX调用出了什么问题?

<script type="text/javascript">
jQuery.ajax({ url: 'http://www.domain.com/page.php',
    dataType: 'json',
    success: function(data) {
        var obj = jQuery.parseJSON(data);
        alert(obj.json_array[0]);
        alert(obj.json_array[1]);
        alert(obj.json_array[2]);
    }
});
</script>

PHP是:

<?php
$array = [
    'foo' => 'bar',
    'bar' => 'foo',
    'int' => 4
];

$json_array = json_encode($array);
echo $json_array;
?>

1 个答案:

答案 0 :(得分:1)

在PHP中,你可以拥有数组,其中每个元素都有一个键和一个值,但是一旦你在javascript中解析它,它就会成为一个对象。因此,使用guestUser[0][1]无效。您必须使用[2]foobar。此外,当您回显字符串时,不会以任何方式保存包含该字符串的变量的名称。保存(回显)的唯一东西就是字符串。在您的示例中,int回显echo $json_array;,并且在解析时,您将获得一个对象。所以你不需要说{"foo":"bar","bar":"foo","int":4},你只需说obj.json_array。所以要解决你的问题,

替换

obj

alert(obj.json_array[0]);
alert(obj.json_array[1]);
alert(obj.json_array[2]);