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 の作成方法を制御できない場合は、クライアントに戻す前に、JSON を傍受'\'して出現箇所を に置き換えることができます。'\\'

于 2012-09-22T21:01:11.567 に答える