从PHP返回JavaScript中的倍数数组
在php中,我通过函数返回:从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”、“元
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
- 我也用这个问题作为参考
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');
param在我的.post调用中。我没有默认为文本或html的内容。@kicking莴苣-jQuery默认为“相信服务器”.Overriding这是一种绕过服务器、谎报其返回内容的黑客行为。您应该设置响应的内容类型标头。不知道,我认为这是完全合法的。不确定在我的php文件中将标头
调用放在何处。它有许多用于ajax返回的函数。并非所有函数都用