加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – parseJSON错误:JSON数据的第1行第2列的意外字符

发布时间:2020-12-13 21:55:31 所属栏目:PHP教程 来源:网络整理
导读:我有一个像这样的 PHP脚本: $STL = array();$filter = array();$filter['sort_by'] = "date_added";$filter['sale'] = "F";$filter['per_page'] = "12";$STL['filter'] = $filter;echo json_encode($STL); 这给出了以下输出: {"filter":{"sort_by":"date_a
我有一个像这样的 PHP脚本:

$STL = array();
$filter = array();
$filter['sort_by'] = "date_added";
$filter['sale'] = "F";
$filter['per_page'] = "12";
$STL['filter'] = $filter;
echo json_encode($STL);

这给出了以下输出:

{"filter":{"sort_by":"date_added","sale":"F","per_page":"12"}}

我试图像这样使用parseJSON:

$.ajax({ 
    url: 'myPHP.php',type: 'post',data : get_session,async: false,dataType: 'json',success: function(result) {
        var json = $.parseJSON(result);         
    } 
});

但我得到以下结果:

SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data

我猜测在PHP中json字符串格式不正确.我错了什么?

解决方法

当您指定dataType:’json'(或jQuery检测到JSON响应)时,它将自动为您解析JSON.如果您再尝试解析生成的对象,则会收到您看到的错误. success函数的result参数已经是您可以使用的对象.

另请注意,永远不要使用async:false.使用它是一种可怕的做法,因为它会阻止UI线程,直到AJAX请求完成.这看起来像浏览器崩溃的用户.从设置中删除该属性,并将所有代码依赖于成功处理程序中的AJAX结果.

试试这个:

$.ajax({ 
    url: 'myPHP.php',success: function(result) {
        console.log(result);      
    } 
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读