【问题标题】:ajax, syntax error: unexpected token A in json at position 0ajax,语法错误:位置 0 的 json 中的意外标记 A
【发布时间】:2018-06-26 16:06:40
【问题描述】:

我发出一个 ajax 请求,并以 json 形式返回,但它每次都给我“语法错误:json 中位置 0 处的意外令牌 A”,我将在下面发布我的 ajax 代码,谢谢。

$.ajax({
        url: "/report/get-judge-optionals", type:'GET', dataType:'json', cache:true,
        data: {
            inputRole: $(this).attr('data-role'),
            court: selected.data("court"),
            judge: selected.data('value'),
            master: fields.master,
            report_id: fields.report_id
        },
        success: function(data, textStatus, jqXHR) {

        },
        beforeSend: function(jqXHR) {},
        error: function(jqXHR, textStatus, errorThrown) {alert(errorThrown);},
        complete: function(jqXHR,status) {}
    });

控制器函数返回的是

Zend\View\Model\JsonModel Object
(
[captureTo:protected] => 
[jsonpCallback:protected] => 
[terminate:protected] => 1
[children:protected] => Array
    (
    )

[options:protected] => Array
    (
    )

[template:protected] => 
[variables:protected] => Array
    (
        [0] => Array
            (
                [proc_cat_id] => 4
                [0] => 4
                [proc_cat_name] => Class Action (343)
                [1] => Class Action
                [dec_count] => 343
                [2] => 343
            )

        [1] => Array
            (
                [proc_cat_id] => 2
                [0] => 2
                [proc_cat_name] => Action (323)
                [1] => Action
                [dec_count] => 323
                [2] => 323
            )


    )

[append:protected] => 
)

再次感谢

【问题讨论】:

  • 该错误意味着您在响应中返回的内容不是有效的 JSON。在控制台的网络选项卡中检查响应
  • @RoryMcCrossan 感谢您的快速回复,原因是 {"0":{"proc_cat_id":"4","0":"4","proc_cat_name":"集体诉讼 (343 )","1":"集体诉讼","dec_count":"343","2":"343"},"1":{"proc_cat_id":"2","0":"2", "proc_cat_name":"Action (323)","1":"Action","dec_count":"323","2":"323"}}
  • 您能否编辑您的问题以包含 JSON 响应 {"0" ...

标签: php jquery json ajax syntax


【解决方案1】:

看起来你得到的响应是一个 print_r 输出,你应该使用

echo json_encode($object)

另外,如果上述方法不起作用,我会查找从您的服务器脚本输出的 UTF8-BOM 字符

【讨论】:

  • 我才意识到我是多么愚蠢,我的控制器中确实有一个 print_r,我完全忘记了这一点。谢谢!
  • @FJShen 点赞(有用)并接受将受到所有 SO 用户的赞赏,并鼓励 itaynoy 在这里进一步贡献。
猜你喜欢
  • 2018-01-15
  • 1970-01-01
  • 2023-03-09
  • 2017-10-21
  • 2018-12-13
  • 2023-03-21
  • 1970-01-01
  • 2021-08-06
  • 1970-01-01
相关资源
最近更新 更多