Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX从数组读取PHP输出_Javascript_Php_Jquery_Json_Ajax - Fatal编程技术网

Javascript 使用AJAX从数组读取PHP输出

Javascript 使用AJAX从数组读取PHP输出,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我的PHP输出的数据如下: $data['full_feed'] = $sxml; $data['other_stuff']= $new; echo json_encode($data); 所以,在我的jQuery中,我正在这样做 $.ajax({ url: 'untitled.php', type: 'GET', success: function(data) { console.log(data['full_feed']); }); 这是未定义的。console.

我的PHP输出的数据如下:

$data['full_feed'] = $sxml;
$data['other_stuff']= $new;
echo json_encode($data);
所以,在我的jQuery中,我正在这样做

$.ajax({
    url: 'untitled.php',
    type: 'GET',
success: function(data) {
    console.log(data['full_feed']);
});
这是未定义的。
console.log(data.full\u feed)
也是如此。我从PHP返回了一个有效的JSON对象,但缺少如何正确地“解析”它。

使用jQuery.parseJSON函数解析“数据”参数。然后使用parsed.full_提要值。如下图所示:

$.ajax({
    url: 'untitled.php',
    type: 'GET',
success: function(data) {
    data = jQuery.parseJSON(data);
    console.log(data.full_feed);
});

您可以像@tilz0R所说的那样操作,或者为了让示例正常工作,您需要告诉浏览器您正在发送json响应。所以需要像这样设置内容类型标题

header('Content-Type: application/json');
echo json_encode($data);
要查看服务器返回的内容,请执行console.log(数据类型)。如果是字符串,则需要对其进行解析。如果它是一个对象,那么它已经被解析了


您还可以在ajax调用中添加dataType:'json',让jquery知道您正在排除json响应。

您没有告诉jquery您希望返回json,因此
数据将是一个普通字符串。或者使用
.getJSON()
,或者包含
数据类型:“json”
@MarcB Wow。不知道我怎么会错过那一次。这就成功了。谢谢