Jquery ASP.NET MVC return JSON()确实显示了一个保存文件对话框

Jquery ASP.NET MVC return JSON()确实显示了一个保存文件对话框,jquery,asp.net-mvc,json,Jquery,Asp.net Mvc,Json,我是.NET MVC模式的新手,尝试在我的控制器中使用AJAX.BeginFormHelper类调用操作,我使用return JSON()返回seralized JSON 在我看来,我添加了一个应该使用returnes JSON的Scrip witch function ResultSet(request) { var json = content.get_response().get_object(); var result = eval(json); if (re

我是.NET MVC模式的新手,尝试在我的控制器中使用
AJAX.BeginForm
Helper类调用操作,我使用return JSON()返回seralized JSON

在我看来,我添加了一个应该使用returnes JSON的Scrip witch

   function ResultSet(request) {

   var json = content.get_response().get_object();
   var result = eval(json);

   if (result.Successfull) {
       alert("Success!");
   }
   else {
       alert("else");
       }
   }
但是,如果返回,浏览器会显示一个保存对话框来保存JSON文件

为什么会这样?

尝试将响应的内容类型设置为应用程序/json,如下所示:

Response.ContentType = "application/json";

我遇到了类似的问题,请尝试确保添加了对microsoft ajax库的引用:

<script src="/Scripts/MicrosoftAjax.debug.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcAjax.debug.js" type="text/javascript"></script>

还有。您的ResultSet()方法以一个名为“request”的变量作为参数,我认为它应该被称为“content”,如下所示

<script type="text/javascript">
    function ResultSet(content) {
        var json = content.get_response().get_object();

        var result = eval(json);
        if (result.Successfull) {
            alert("Success!");
        }
        else {
            alert("else");
        }
    }    
</script>

函数结果集(内容){
var json=content.get_response().get_object();
var result=eval(json);
if(result.Successfull){
警惕(“成功!”);
}
否则{
警惕(“其他”);
}
}    

您忘了引用jQuery。将以下内容放在html的头部:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>