0001: response
$[0] = [string] "{\"code\":200,\"id\":121}"
0001: eval(response)
SyntaxError: invalid label
Quelqu'un sait?Pourquoi eval échoue ici?
0001: response
$[0] = [string] "{\"code\":200,\"id\":121}"
0001: eval(response)
SyntaxError: invalid label
Quelqu'un sait?Pourquoi eval échoue ici?
Vous avez l'envelopper dans ()
pour déclencher l'évaluation d'expression, comme ceci:
eval("(" + response + ")")
Bien qu'une meilleure méthode est la manipulation JSON native:
var result = JSON.parse(response);
Il suffit d'inclure json2.js pour le navigateur plus ancien (< IE8) support, l'appel est le même ... il ajoute juste l'objet JSON
global si c'est manquant.
Vous devez placer la chaîne JSON entre parenthèses.
Sinon, le { ... }
est interprété comme un bloc d'instructions exécutables, ce qui n'est pas le cas. En l'entourant entre parenthèses, vous forcez l'interprète à l'interpréter comme une expression.
Votre shell déroute tout le monde. – SLaks