2017-10-10 14 views
-2

が生じるという問題は、簡単なことのようです: AJAXポストリクエストはパラメータで、このJSON文字列を受け取り、「データ」のコールバック関数:JSON.parse(データ)は、エラー

{"result":"Torte"}. 

私は次のように手動でそれを解析する場合この

var antwort = JSON.parse('{"result":"Torte"}'); 

大丈夫です。だから、それを

VM1285:2 Uncaught SyntaxError: Unexpected token < in JSON at position 21 
at JSON.parse (<anonymous>) 

: しかし

var antwort = JSON.parse("'" + data + "'"); 

は、同様のエラーが(クロームの開発ツールに)現れ、エラーに

var antwort = JSON.parse(data); 

Uncaught SyntaxError: Unexpected token ' in JSON at position 0 
at JSON.parse (<anonymous>) 

を引き起こしそうだねta 'には追加の文字が含まれています。一方 、ちょうど

{"result":"Torte"} 

追加の文字を示していない

$("#idTest").html(data) 

で受信JSONストリングを可視化。

私はこの問題を何時間も、成功していないために取り組んできました。 誰でも助けてください。

+0

'{「結果」:「トルテ」}'あなたの質問(beggining)で - がある期間。あなたはそれを解析しようとしていますか? –

+1

JSON.parse(JSON.stringify(data))を試してください....さらに、JSON形式では ' –

+0

'で始めることはできません。 '$ .html'を使用すると、DOMを更新してhtmlを表示しない可能性がありますJSONレスポンスをラップする文字列。 – MinusFour

答えて

2

JSON.parseのデータは、有効なJSONを含む文字列である必要があります。これはエラーではなく、パーサが無効なトークンを検出したことを警告する例外です。

さらに、JSONは<または'で始まることはできません。

0

ご協力いただきありがとうございます。 問題はPHPファイルにhtmlヘッダーがあることでした。

JSON.parse(JSON.stringify(data));必須ではありません。

のphpファイルの末尾に以下の2行は、仕事をする:

$antwort['result'] = "Torte"; 
echo json_encode($antwort);