2011-02-02 3 views
1

jQueryのajax関数を使用してサイトに投稿するページがあります。 レスポンスは、メッセージやその他のステータスコード、成功したコールバックのdivにレンダリングされるエンコードされたHTMLを含むJSONオブジェクトです。Firefox + jQuery:大量の戻りデータを含むajax呼び出しで成功しない場合

これはほとんどの場合うまく動作しますが、最新のfirefox(incベータ版)を使用すると、レスポンスが1メガバイトを超えると成功コールバックは発生しません。

これは既知の問題ですか?回避策がありますか?

私はJSONオブジェクトをスクラップし、まっすぐにHTMLを返そうとしましたが、同じ問題が発生します。 FirefoxとjQuery 1.4では、平均よりも大きなレスポンスが好きではないようです。

おかげ

UPDATE - 詳細 私はasp.net MVC 2 データはMVC2でJSONメソッドを使用して返され一緒でFirefox 3.6.13とjQuery 1.4を使用しています。パーシャルビューは、JSONを構成する文字列にレンダリングされます。フラットHTMLを返すときも同じ動作が見られることに注意してください。

私はonErrorコールバックを呼び出して、それが呼び出されるかどうかを確認します。

UPDATE 2 エラーコールバックは「parseerror」が発生していることを示しています。

+0

ASP.NETを使用していますか? – Petah

+0

firefox/jQueryの正確なバージョンは何ですか?エラーコールバックは起動していますか? ($ .ajaxを$ .postの代わりに使用して、成功/エラー/完了ハンドラを追加してデバッグしようとする) –

答えて

0

通常、エンコードされたHTMLは避けたいと思うでしょう。代わりにJSONデータだけを渡し、代わりにjqueryテンプレートを使用してください(http://api.jquery.com/tmpl/)。

ブラウザはJSONにサイズ制限を設けており、ブラウザによって異なります。

0

I stumbled upon今日も同様のエラーですが、jQuery 1.5とMVC3を使用していました。このエラーの原因は、jQuery.validationがすべてのajax呼び出しに適用されるデフォルトのAJAX設定を更新し、通常のAJAX呼び出しがJSONP呼び出しを行うことでした。 JSONPコールバックが見つかりませんでしたので、parseerrorがスローされました。おそらくあなたは同様の問題に直面しているでしょう。

関連する問題