gpt4 book ai didi

asp.net - JsonResult 在浏览器中显示文件下载

转载 作者:行者123 更新时间:2023-12-01 01:30:07 31 4
gpt4 key购买 nike

我正在尝试使用 jquery.Ajax 将数据发布到返回 JsonResult 的 ASP.NET MVC2 操作方法。一切都很好,除了当响应返回浏览器时,它被视为文件下载而不是传递到成功处理程序中。这是我的代码:

Javascript:

 <script type="text/javascript">
$(document).ready(function () {
$("form[action$='CreateEnvelope']").submit(function () {
$.ajax({
url: $(this).attr("action"),
type: "POST",
data: $(this).serialize(),
dataType: "json",
success: function (envelopeData) {
alert("test");
}
});
});
return false;
});
</script>

Controller 上的操作方法:

public JsonResult CreateEnvelope(string envelopeTitle, string envelopeDescription)
{
//create an envelope object and return
return Json(envelope);
}

如果我打开下载的文件,json 正是我要查找的内容,并且 mime 类型显示为 application/json。为了让 jquery.ajax 调用接收返回的 json,我缺少什么?

最佳答案

您在提交事件的处理程序中缺少“return false”。如果您不返回 false,那么 JQuery 仍将像平常一样通过提交。

<script type="text/javascript">
$(document).ready(function () {
$("form[action$='CreateEnvelope']").submit(function () {
$.ajax({
url: $(this).attr("action"),
type: "POST",
data: $(this).serialize(),
dataType: "json",
success: function (envelopeData) {
alert("test");
}
});
// IMPORTANT: return false to make sure the normal post doesn't happen!
return false;
});
return false;
});
</script>

几乎就到了!

关于asp.net - JsonResult 在浏览器中显示文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571650/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com