【发布时间】:2013-06-08 18:54:30
【问题描述】:
我想从 php 脚本中获取一个字符串,并将其解析为一个 javascript 数组。但得到了错误:SyntaxError: JSON.parse: unexpected character for the line :JSON.parse(msg);
我搜索了很多,无法弄清楚我的问题在哪里,请帮我检查一下。谢谢。
PHP端:
header("application/json; charset=utf-8");
$sum = array(1,2,3,4,5);
echo json_encode($sum);
Javascript:
$.ajax({
type: "POST",
url: "save.php",
contentType: "application/json; charset=utf-8",
data: price,
success: function (msg) {
var i = 0;
console.log(msg);
var sum = new Array();
sum = JSON.parse(msg);
$('input.hj').each(function () {
if (sum[i] > 0) {
$(this).val(sum[i]);
}
i++;
});
}
});
【问题讨论】:
-
看看
console.log(msg);的输出。它是一个对象还是一个字符串?如果它是一个对象,你不必也不能解析它。 -
@FelixKling 它是这样的字符串:[1,2,3,4,5] 我想将其解析为数组
-
console.log(typeof msg);是否也显示string? -
@FelixKling 如果我放 header("Content-type: application/json; charset=utf-8");在 php 中,成功函数不起作用。如果我删除该标题,则消息类型为字符串
标签: php javascript json