私の MVC3 アプリは、ユーザーからサーバーにドキュメントをアップロードします。エラーがあればそれを表示するために JsonResult を返します。
[HttpPost]
public JsonResult SaveDocument(DocumentModel model, HttpPostedFileBase postedFile)
{
//my wonderful code
return Json(new { success = true, message="ok" });
}
リクエストを送信する方法は次のとおりです。
var isSubmitting = false;
var addDocumentOptions = {
beforeSubmit: beforeAddDocumentSubmit, // pre-submit callback
success: afterDocumentSubmit // post-submit callback
};
$('#btnCreateDocument').click(function (e) {
e.preventDefault();
$('#divError').html('');
if (!isSubmitting) {
$('#createDocForm').submit();
}
});
アップロードが完了すると、次の JavaScript 関数が実行されます。
function afterDocumentSubmit(responseText, statusText, xhr, $form) {
if (responseText.success) {
//no errors
} else {
$('#divError').html('Error: ' + responseText.message);
}
}
FF、Chrome などでは、私の JavaScript コードは問題なく動作しますが、IE では、ブラウザーは Json の結果をテキストとしてダウンロードしようとします。表示されるべきではないダウンロード/ファイルを開くダイアログ ボックスが表示されます。IE が Json の結果をダウンロードせず、他のブラウザーのように動作するようにするにはどうすればよいですか? ありがとう