jQuery.ajax
aspx.net mvc 控制器使用
类名 | 抽象类 | 父类 | 功能 |
ContentResult | 根据内容的类型和编码,数据内容. | ||
EmptyResult | 空方法. | ||
FileResult | abstract | 写入文件内容,具体的写入方式在派生类中. | |
FileContentResult | FileResult | 通过 文件byte[] 写入文件. | |
FilePathResult | FileResult | 通过 文件路径 写入文件. | |
FileStreamResult | FileResult | 通过 文件Stream 写入文件. | |
HttpUnauthorizedResult | 抛出401错误 | ||
JavaScriptResult | 返回javascript文件 | ||
JsonResult | 返回Json格式的数据 | ||
RedirectResult | 使用Response.Redirect重定向页面 | ||
RedirectToRouteResult | 根据Route规则重定向页面 | ||
ViewResultBase | abstract | 调用IView.Render() | |
PartialViewResult | ViewResultBase | 调用父类ViewResultBase 的ExecuteResult方法. 重写了父类的FindView方法. 寻找用户控件.ascx文件 |
|
ViewResult | ViewResultBase | 调用父类ViewResultBase
的ExecuteResult方法. 重写了父类的FindView方法. 寻找页面.aspx文件 |
$(function() { $("#btnOK").click(function() { $.ajax({ //要用post方式 type: "Post", //方法所在页面和方法名 url: "Demo.aspx/SayHello", contentType: "application/json; charset=utf-8", dataType: "json", success: function(data) { //返回的数据用data.d获取内容 alert(data.d); }, error: function(err) { alert(err); } }); //禁用按钮的提交 return false; }); }); 1 success: function (data) { 2 alert(typeof(data)); //alert data 的类型 3 alert(data.d); 4 }, 结果分别是:object、object、string、不执行success 结论:(假设成功返回,状态码200) content-Type同时是提交数据和返回数据的类型(格式)。即若指定为'application/json; charset=utf-8’,
则返回类型一定为'json’,此时dataType可省略;未指定则默认返回的是xml格式的数据 dataType为预期(expecting)的返回格式(格式比类型更恰当),若实际返回格式与预期格式相同 或
预期格式在js中对应的数据类型为String(text、html格式对应的为String,json、xml对应Object),
则执行succes,否则被认定为error。第四种请求方式,返回格式为json,预期格式为xml,两种格式不同 且 预期格式在js中对应的类型为Object,虽然200,依然被认定为error success方法获取到的返回数据data的类型为预期返回格式在js中对应的类型(Object或String),第三种请求方式,data的类型为String,内容为'{"d":"Hello World"}’,
对String调用.d,当然是undefined,假设有一句'alert($.parseJSON(data).d);’,此句会得到想要的结果 dataType作用:1、判断是success还是error;2、success方法接受到的数据data的类型 5、content-Type的几种可选类型: text:“text/plain“; xml:“application/xml“; json:“application/json“; html:“text/html”; script:"application/x-javascript" 6、采用json格式为什么要'.d’,json格式是一Ojbect,微软框架默认的是{"d":"后台返回的数据"},d属性的值才是后台返回的数据