3

私はこれに対する答えを高低で検索しましたが、残念ながら私は立ち往生しています。この問題はFirefoxでのみ発生します(テスト済みのIE、Chrome、Safariも正常に動作し、エラーは発生しません)。すべてのコードの投稿を節約するために、イベントのシーケンスについて詳しく説明します。

  1. ASP.NET MVC 3アプリケーション、基本的なフォームがjQueryUIダイアログに読み込まれます
  2. フォーム送信をhijaxするカスタムjQuery(フォームをシリアル化してからサーバーに$ .post-デバッグ時にコンパイラエラーが発生せず、PostがエラーなしでFirebugに表示されます)
  3. サーバーから応答オブジェクトを取得するHttpGET(自動的に発生)(+成功テキストとXHR)、この場合の応答はプレーンHTMLです(ここでも、エラーなしでFirebugに表示されます)
  4. UIダイアログのHTMLを現在のHTMLから応答Htmlに変更するカスタムjQuery-これは失敗する場所です。

私はjavascriptアラートを使用して一連のイベントをデバッグしましたが、投稿(および取得)が完了するとすぐに、すべてが停止します。

私が言うように、Firefoxでのみ!非常に奇妙なことに、ajaxとfirefoxに既知のバグがあるかどうか、または誰かが同様の状況について聞いたことがあるかどうか疑問に思っていますか?

また、私のサイトの他の部分では、これはすべてのブラウザーで完全に機能することを付け加えなければなりません。このフォームと、機能を正常に完了する他のフォームとの唯一の違いは、このフォームからの応答が同じ「ページ」であるが、新しい「ページ」ではなく更新されることです。(最初にJavascriptをオフにして、優雅に劣化させるために、「ページ」を使用します)

ヘルプ!または笑う、どちらも大丈夫です。

アップデート

アクションの結果として、空白のモデルでビューを返送しようとしました-Firefoxを除くすべてのブラウザーで機能します-Firefoxは前の投稿の値を保持します!そして、私は考え始めました-それはFirefoxの特徴ですよね?そして、おそらくそれが元の「リダイレクト」html応答が機能しない理由ですか?あきらめて、Firefoxをその特定の機能に使用できないことを人々に知らせる時が来たと思います!

4

2 に答える 2

2

さて、私は自分の質問に答えています。

私がそれを回避するために見つけた唯一の方法は、$.ajax代わりに$.postを使用し、オプションを使用することですasync : false

これが誰かに役立つことを願っています。

ロブ

于 2011-03-22T12:18:48.103 に答える
0

[OutputCache(Location = System.Web.UI.OutputCacheLocation.None)]GETのアクションに属性を追加してみましたか?キャッシュの問題のように思えます。

于 2011-02-17T19:04:18.330 に答える