首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JsonResult在浏览器中显示下载的文件

JsonResult在浏览器中显示下载的文件
EN

Stack Overflow用户
提问于 2010-04-03 23:22:53
回答 2查看 3.7K关注 0票数 3

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

Javascript:

代码语言: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>

控制器上的操作方法:

代码语言:javascript
复制
public JsonResult CreateEnvelope(string envelopeTitle, string envelopeDescription)
    {
        //create an envelope object and return
        return Json(envelope);
    }

如果我打开下载的文件,json就是我要找的,mime类型显示为application/json。为了让jquery.ajax调用接收返回的json,我错过了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-03 23:42:46

提交事件的处理程序中缺少"return false“。如果你不返回false,那么JQuery仍然会像往常一样传递提交。

代码语言: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");
                }
            });
            // IMPORTANT: return false to make sure the normal post doesn't happen!
            return false;
        });
        return false;
    });
</script>

你就快到了!

票数 2
EN

Stack Overflow用户

发布于 2010-04-03 23:29:48

我刚刚开始使用与此类似的ajax,第一印象是,查看您的代码会发现您不需要在表单上调用submit?您只需要执行ajax调用。我可能错了,但可能是ajax正在返回数据,而页面正在进行刷新,其中页面数据被json数据替换?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2571650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档