非常に奇妙な問題。
ポップアップ編集 (JQueryUI および部分ビューを使用) を使用する MVC4 Web アプリケーションがあり、アプリケーションがデバッグ モードでビルドされている場合、またはリリース モードでビルドされて IIS Express で実行されている場合に問題なく動作します。
HttpPost アクションは、エラーを含む HTML パーシャルビュー (UI ダイアログ ボックスを再設定する) または JSON 応答のいずれかを返します。
return Json(new { success = true });
DEBUG ビルドを IIS にデプロイすると、正常に動作します。
ただし、RELEASE ビルドを IIS にデプロイすると、動作が停止し、クライアント ブラウザー (すべて) が json 応答をファイルのダウンロードとして扱い始めます...?!
私はリクエストをいじりましたが、それらは異なります..... 機能するものはヘッダーを送信します:
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
...そして失敗したもの...
Accept: text/html, application/xhtml+xml, */*
Content-Type: application/x-www-form-urlencoded
...そして X-Requested-With ヘッダーはありません。
TBH 単純にビルド構成に基づいて REQUEST ヘッダーが異なる理由がわかりません....?! ヘルプ?