2012-01-03 13 views
1
var url = "/MyApp/pspace/filter"; 
var data = JSON.stringify(myData); 
$.post(
    url, 
    data, 
    function(response, textStatus, jqXHR) { 
    console.log("response: " + response); 
    }, 
    "json" 
); 

実際にはresponseはjson文字列である必要があります。なぜJQueryはFirefoxでajaxレスポンスをxmlとして解析しようとしていますか?

クロムのresponseは、$.parseJSON()と解析できる文字列です。

Firefoxの場合、dataType: "text"を使用しない限り、responseXMLDocument(解析エラーあり)です。 なぜですか?

+1

これは実際のコードとは思わないが、構文エラーが発生する。 –

+0

それは?私はトリミングしている間に間違いをしたに違いない、あなたはそれを見ますか? –

+0

'dataType:" json "'は '' json ''でなければなりません。私はJavaScriptが 'dataType:'をラベルとして解釈するかもしれないと思ったが、それは私のためにエラーを投げる。最後のパラメータとして '' json ''を渡すと、jQueryは自動的に応答を解析します。レスポンスヘッダを確認しましたか? –

答えて

0

応答タイプとして「json」を設定している場合、jQueryは自動的にオブジェクトに解析する必要があります。 jQueryに、異なるブラウザが異なる扱いをすると予想する応答のタイプを忘れた場合。

解決策は、応答タイプを "json"として指定し、返されるデータが実際のJSON文字列であることを確認することです。

関連する問題