【发布时间】:2023-03-30 08:28:01
【问题描述】:
我的 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 结果并像其他浏览器一样运行?谢谢
【问题讨论】:
-
你能贴出实际处理提交并启动Ajax请求的代码吗?而且,如果您使用 Ajax 提交表单,您是 preventing the default action 的
submitevent 吗?
标签: c# javascript asp.net-mvc-3