1

这可能是一个微不足道的问题,但过去几天我一直在寻找没有解决方案。我正在像这样进行ajax调用:

 $.ajax({
    type: 'GET',
    url: "results",
    dataType: 'json',
})
.fail( function (jqXHR, textStatus, errorThrown){
    alert(errorThrown);
    })
    .done(function(data){   
        $.each(data.myitems, function(index, item){
          // do stuff here  
        });
    });

我的 json 看起来像这样:

{
"thisvariable":1,
"anothervariable":2,
    "myitems":[
        {"name":"Matt",
        "birthday":"1978-02-23 00:00:00"},
        {"name":"Carol\y",
        "birthday":"1967-05-05 00:00:00"},
        {"name":"Bob",
        "birthday":"1984-02-03 00:00:00"}
        ]
}

当我拨打这个电话时,我得到“SyntaxError:Unexpected token y”。它不喜欢 Carol\y 中的反斜杠。此数据来自 mysql 数据库。

4

1 回答 1

5

无论在服务器端创建 JSON,都应该正确转义反斜杠:Carol\\y.

如果您无法控制 JSON 的创建方式,也许您可​​以在它返回客户端之前拦截它并替换出现的'\'with 。'\\'

于 2012-09-22T21:01:11.567 回答