2012-06-13 12 views
5

は、ここに私のクライアント側のjQueryのコードです:jQueryのは、JSONをパースしていないように自動的に

ここ
$.ajaxSetup ({ 
    contentType: "application/json", 
    datatype: 'json' 
}); 

$.ajax({ 
    type: "POST", 
    url: "http://localhost:1234/path", 
    data: JSON.stringify(myData), 
    success: function(aString){ 
     alert(aString); 
    }, 
    error: function(errorData){ 
     alert(errorData); 
    } 
}); 

は、サーバーが送信したデータである:警告で

200 
Content-Type: application/json 

"aStringsData" 

の引用符 " aStringData "が表示されます。しかし、私はデータ型から発生すると予想される自動JSON.parseのために引用符を取り除くことを期待しています: 'json'。これは間違っていますか?

+2

JavaScriptは大文字と小文字が区別されます。 'dataType!== datatype'です。 – Matt

+0

ありがとう、私はおそらく静かにそれを考え出していないだろう.. – hansi

答えて

5

パラメータは実際にはdataTypeであり、datatypeではありません(JavaScriptは大文字と小文字が区別されます)。

あなたはして試すことができます:あなたのajaxSetup

​​

+0

@マットありがとうSir – thecodeparadox

+0

ありがとう、問題を解決! – hansi

+0

@hansiご歓迎ありがとうございます。 – thecodeparadox

0

あなたの応答:JSONは、{で右を開始することになって

"aStringsData" 

は、私は信じてJSON有効ではありません?。

あなたはこのようなものを使用しようとすることができ

{ 
"string": "data" 
} 
+0

が間違っています。文字列自体は*完璧なJSONです。 http://json.org – Matt

+0

さて、それはオブジェクトか、文字列のようなものですが、文字列ではありませんか? (間違いがあるかもしれませんが、最初の3人のバリデーターが同じことをしようとしました) – Nanne

+0

@matt:あなたがリンクしているjsonページには2つのbolletpointsがあります:それらはオブジェクトまたはリストであることを示します。後で「値」の定義がありますが、それを読んでいるだけで値が有効なJSONであるとは言いません。 – Nanne

-1

を意味するかもしれません:

eval(aString) 
+0

これは質問に答えるためには近づいていません。問題は、どうしてJSONがどうやって自動的に解析されるのではなく、どうやって解析されるのかという質問です。 – Matt

関連する問題