System.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.

由错误信息可知MVC2出于对网站数据的保护,默认禁止通过get的请求返回JsonResult数据,你可以在返回Json时,传入第二个参数 JsonRequestBehavior.AllowGet,如:return Json(result, JsonRequestBehavior.AllowGet),当然你也可以修改你的前端代码,使用post的方式来获取数据。

上面是引用网上一位老兄写的,JsonResult返回值里的第二个参数JsonRequestBehavior.AllowGet,有好多朋友都不理解是什么意思,我自己一开始也不明白,后来想了好长时间,才明白,其实很简单的。我们来看一个例子:如下是一个JsonResult和一个Class

复制代码
复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.UI.MobileControls;

namespace MvcApplication1.Controllers
{
public class TestJsonController : Controller
   {
//
// GET: /TestJson/

public ActionResult Index()
       {
return View();
       }

public JsonResult Json()
       {
           List
< Address > data = new List < Address > {
new Address{ID = 1 ,Addresses = " 江苏 " ,ParentID = 0 },
new Address{ID = 2 ,Addresses = " 浙江 " ,ParentID = 0 },
new Address{ID = 3 ,Addresses = " 福建 " ,ParentID = 0 },
new Address{ID = 4 ,Addresses = " 苏州 " ,ParentID = 1 },
new Address{ID = 5 ,Addresses = " 常州 " ,ParentID = 1 },
new Address{ID = 6 ,Addresses = " 无锡 " ,ParentID = 1 }
           };
return Json(data);
       }

public class Address
       {
public int ID { get ; set ; }
public string Addresses { get ; set ; }
public int ParentID { get ; set ; }
       }
   }
}
复制代码
复制代码


下面的是HTML和JavaScript代码


复制代码
复制代码
<% @ Page Language = " C# " Inherits = " System.Web.Mvc.ViewPage " %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > Index </ title >

< script type ="text/javascript" src ="http://www.cnblogs.com/Scripts/jquery-1.4.1-vsdoc.js" ></ script >

< script type ="text/javascript" >
       $( function () {
//            $.getJSON("<%= Url.Action("Json") %>",function(data){
//                $("#Address").empty();
//                var html="";
//                $.each(data, function(entryIndex, entry) {
//                    if(entry["ParentID"]==0)
//                    {
//                        html+=entry["Addresses"]+" ";
//                    }
//                    if(entry["ParentID"]==1)
//                    {
//                        html+="<br>";
//                        html+=entry["Addresses"]+" ";
//                    }
//                });
//                $("#Address").append(html);
//            });
           $.ajax({
               type: ' POST ' ,
               url: ' <%= Url.Action("Json") %> ' ,
               contentType: ' application/json;charset=utf-8 ' ,
               dataType: ' json ' ,
               data: ' {} ' ,
               success: function (data) {
                   $( " #Address " ).empty();
var html = "" ;
                   $.each(data, function (entryIndex, entry) {
if (entry[ " ParentID " ] == 0 )
                       {
                           html += entry[ " Addresses " ] + " " ;
                       }
if (entry[ " ParentID " ] == 1 )
                       {
                           html += " <br> " ;
                           html += entry[ " Addresses " ] + " " ;
                       }
                   });
                   $( " #Address " ).append(html);
                   alert(data[ 0 ].Addresses);
               }, error: function (xhr) {
                   alert( ' 出现错误,服务器返回错误信息: ' + xhr.statusText);
               }
           });

       });
</ script >

</ head >
< body >
< div id ="Address" >
</ div >
</ body >
</ html >
复制代码
复制代码