惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MyScale Blog
MyScale Blog
U
Unit 42
M
MIT News - Artificial intelligence
小众软件
小众软件
P
Proofpoint News Feed
雷峰网
雷峰网
L
LangChain Blog
S
SegmentFault 最新的问题
腾讯CDC
F
Fortinet All Blogs
A
About on SuperTechFans
WordPress大学
WordPress大学
Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
Recent Announcements
Recent Announcements
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog

博客园 - 深山老林

测试Varnish缓存服务器与IIS连接数 谈谈持续集成 亲测SQLServer的最大连接数 读书笔记:Oracle锁定策略的总结 jQuery formValidator不支持新版手机的解决办法 TFS Workspace错误解决办法 Mindjet.MindManager.v9.0“参数错误”解决办法 c#3.0提供的扩展方法 Entityframework提供的处理并发冲突方式 Visual studio 配置文件下载 WF之基本概念 数据库访问的性能问题与瓶颈问题 SQLServer中批量插入数据方式的性能对比 再次探扩展-对xVal进行扩展解决验证不同步的问题 微软并行编程类库Parallel Extensions介绍 更改Outlook数据文件的路径 谈谈c#中的static 再次探讨企业级开发中的Try......Catch性能问题 在企业级开发中使用Try...Catch...会影响效率吗?
ASP.NET MVC2中返回Json异常的解决办法
深山老林 · 2010-06-25 · via 博客园 - 深山老林

在ASP.NET MVC1.0中,我们在前段通常会这样做。

            $.ajax({
                    type: 
"GET",
                    url: 
"/role/SaveRoleResource",
                    data: { roleId: roleId, array: item },
                    datatype: 
'json',
                    success: 
function (result) {
                        alert(result);
                    },
                    error: 
function (result1) {
                        alert(result1);
                    }

           });

或者

                 $.getJSON("/role/SaveRoleResource", { roleId: roleId, array: item },
                                            
function (data) {
                                                alert(data);
                                            });

后端我们会做这样的代码:

        public ActionResult SaveRoleResource(int roleId,Array array)
        {
            
int count = RoleResourceDal.Update(roleId, array);return Json(count);
        }

同样的代码如果放到ASP.NET MVC2中,就会报如下异常:

 [InvalidOperationException]: This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet.

解决方法,将后端代码改成如下

        public ActionResult SaveRoleResource(int roleId,Array array)
        {
            
int count = RoleResourceDal.Update(roleId, array);return Json(count,JsonRequestBehavior.AllowGet);
        }

看到这里,可能您就会明白,ASP.NET MVC2中JsonRequestBehavior默认是JsonRequestBehavior.DenyGet。