0001: response
$[0] = [string] "{\"code\":200,\"id\":121}"
0001: eval(response)
SyntaxError: invalid label
誰でも知っていますか?ここでevalが失敗するのはなぜですか?
0001: response
$[0] = [string] "{\"code\":200,\"id\":121}"
0001: eval(response)
SyntaxError: invalid label
誰でも知っていますか?ここでevalが失敗するのはなぜですか?
あなたはこのように、式の評価をトリガする()
でそれをラップする必要があります。
eval("(" + response + ")")
より良い方法は、ネイティブJSONの取り扱いですが:
var result = JSON.parse(response);
ちょうど古いブラウザ(< IE8)のサポートのためのjson2.jsが含まれ、呼び出しは同じです...それだけでグローバルJSON
オブジェクトを追加しますそれが欠けている場合。
JSON文字列をかっこで囲む必要があります。
それ以外の場合は、{ ... }
は実行可能ステートメントのブロックとして解釈されます。
括弧で囲むことで、インタプリタが強制的に式として解釈するようにします。
あなたのシェルは誰もが混乱しています。 – SLaks