php - Javascript JSON.parse : unexpected character error

标签 php javascript json

<分区>

我想从 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++;
        });
    }
});

最佳答案

不要解析它:$.ajax 为您解析了它。只需使用提供给您的 success 回调的参数,这是已解析的数组。

如果您的浏览器无法检测到它是 JSON,请添加 dataType 参数。

另请注意,您不必自己管理 i 计数器:一个由 each 传递:

dataType: 'json',
success: function(sum){
    $('input.hj').each(function(i){
        if (sum[i] > 0) {
            $(this).val(sum[i]);
        }
    });
}

关于php - Javascript JSON.parse : unexpected character error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002775/

相关文章:

c# - CURL 到 WCF 的更好方法

php - 插入数据后检查数据库并更新 ListView

php - Visual Studio 代码 : How to make a snippet for inserting <? php ?>

javascript - 如何向数据表添加复选框

javascript - Object.assign 在一种情况下创建深层复制,但在另一种情况下仅创建浅层复制

javascript - 使用 JSON 将包含 SQL 查询结果的数组返回到网页

javascript - 如何使用 Symfony 4 上传多个文件

javascript - 安全的 ajax 脚本(javascript 请求的 PHP 脚本)

javascript - 如何在 DatePicker 组件中实现范围?

javascript - 如何通过为每个对象指定过滤器类型来过滤 AngularJS 中的对象?