Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
从PHP返回JavaScript中的倍数数组_Javascript_Php_Arrays_Json - Fatal编程技术网

从PHP返回JavaScript中的倍数数组

从PHP返回JavaScript中的倍数数组,javascript,php,arrays,json,Javascript,Php,Arrays,Json,在php中,我通过函数返回: return json_encode(array($array1, $array2, $array3, $array4)); 每个数组包含单个元素,加载方式如下: while ($obj = $DB->next($res)) { $array1[] = $obj->the_data; } 现在在JavaScript中,我警告数据[0],它显示“[” 当然,整个数据看起来与此类似: [“元素1”、“元素2”、“元素3”]、[“元素1”、“元

在php中,我通过函数返回:

return json_encode(array($array1, $array2, $array3, $array4));  
每个数组包含单个元素,加载方式如下:

while ($obj = $DB->next($res)) {
    $array1[] = $obj->the_data;
}
现在在JavaScript中,我警告
数据[0]
,它显示“[”

当然,整个
数据
看起来与此类似:

[“元素1”、“元素2”、“元素3”]、[“元素1”、“元素2”、“元素2”等

我是不是在php中错误地加载了
数组
,还是在JavaScript中错误地解析了它们

  • 这将在jQuery Ajax
    .post
    调用中返回
  • 我也用这个问题作为参考

看起来数据是字符串而不是数组。这表明您没有解码JSON

如果来自服务器的响应被标记为JSON,jQuery将自动执行此操作

默认情况下,PHP将响应标记为HTML,您需要明确表示您正在返回JSON:

header("Content-Type: application/json");

看起来,
数据
是字符串而不是数组。这表明您没有解码JSON

如果来自服务器的响应被标记为JSON,jQuery将自动执行此操作

默认情况下,PHP将响应标记为HTML,您需要明确表示您正在返回JSON:

header("Content-Type: application/json");

啊,你说得对。我完全忘记了我的.post调用中的
},'json');
参数。我没有默认为文本或html的内容。@kicking莴苣-jQuery默认为“相信服务器”.Overriding这是一种绕过服务器、谎报其返回内容的黑客行为。您应该设置响应的内容类型标头。不知道,我认为这是完全合法的。不确定在我的php文件中将
标头
调用放在何处。它有许多用于ajax返回的函数。并非所有函数都用json。你可能想看看MVC模式。啊,你是对的。我完全忘记了这个
},'json');
param在我的.post调用中。我没有默认为文本或html的内容。@kicking莴苣-jQuery默认为“相信服务器”.Overriding这是一种绕过服务器、谎报其返回内容的黑客行为。您应该设置响应的内容类型标头。不知道,我认为这是完全合法的。不确定在我的php文件中将
标头
调用放在何处。它有许多用于ajax返回的函数。并非所有函数都用json。您可能想看看MVC模式。您在$.post调用中将数据类型参数设置为“json”了吗?@friedi no,请参见下面的答案。就是这样,。您在$.post调用中将数据类型参数设置为“json”了吗?@friedi no,请参见下面的答案。就是这样,。