1、 .net MVC中Controller
在mvc中所有的controller类都必须使用"Controller"后缀来命名
并且对Action也有一定的要求:
必须是一个public方法
必须是实例方法
没有标志NonActionAttribute特性的(NoAction)
不能被重载
必须返回ActionResult类
2、 返回JsonResult序列化的Json对象
public class MyController : Controller
{
// 必须返回ActionResult类型
public ActionResult HelloWorld()
{
ViewData["Message"] = "Hello World!";
return View();
}
public ActionResult Json()
{
Dictionary<string, object> dic = new Dictionary<string, object>();
dic.Add("id", 100);
dic.Add("name", "hello");
return Json(dic, JsonRequestBehavior.AllowGet);
}
}
注意:需要设置参数,JsonRequestBehavior.AllowGet,
否则会提示错误:此请求已被阻止,因为当用在 GET 请求中时,会将敏感信息透漏给第三方网站。
若要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。
3、View层 接受页面 使用JQuery
$.ajax({
url: "/My/Json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
/*
//接受数据
当 data 为拼接字符串时,需要下面方法转换成 json对象
var json = jQuery.parseJSON(data);
*/
alert(data.id+","+data.name); // data 为json对象
},
error: function ErrorCallback(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown + ":" + textStatus);
}
});