一$.ajax的一般用法
$.ajax({
url:url, 必须有的,它规定把请求发送到哪个控制器里的方法
type:'POST', 可选择的,默认是Get
data:data, 可选择的,发送到服务器的数据。将自动转换为请求字符串格式
success:function(), 可选择的,请求成功时服务器返回的数据
dataType:dataType 可选择的,规定预期的服务器响应的数据类型
});
二部分参数详解
1:dataType类型是String,它是服务器返回的数据类型,如果不指定,jQuery将自动根据HTTP包MIME信息来判断,比如XML MIME类型就被识别为XML,JSON的话则会生成 一个JavaScript对象,而script会执行这个脚本,随后服务器端返回的数据会根据这个值解析后再传递给回调函数,以下是最常用的类型:
xml:返回XML文档,可用jQuery处理。
html:返回纯文本HTML信息;包含的script标签会插在dom时执行。
script:返回纯文本JavaScript代码,不会自动缓存结果。除非设置了cache参数。注意:在远程请求时(不在同一个域下),所有post请求都将转为get请求,因为将使用 dom的script标签来加载。
json:返回JSON数据。
text:返回纯文本字符串。
2:data主要方式有三种,html拼接的,json数组,form表单经serialize()序列化的,通过dataType指定,不指定智能判断。
3:$.ajax只能提交form以文本方式,如果异步提交包含<file>上传是无法上传的,需要使用jquery.form.js的$.ajaxSubmit
4:$.ajax 函数返回它创建的 XMLHttpRequest 对象。通常 jQuery 只在内部处理并创建这个对象,但用户也可以通过 xhr 选项来传递一个自己创建的 xhr 对象。返回的对象通常已经被丢弃了,但依然提供一个底层接口来观察和操控请求。比如说,调用对象上的 .abort() 可以在请求完成前挂起请求。
三:代码练习:
$.extend({ Init: function () { $.ajax({ url: '/PersonalManger/CheckMember/GetPageData', type: 'post', data: { "pageindex": pageIndex }, success: function (json) { var jsonObj = JSON.parse(json); if (jsonObj.Statu == "ok") { PreCreateTable(jsonObj); } if (jsonObj.Statu == "nologin") { alert("您还没有登陆,请登录!"); parent.location = jsonObj.BackUrl; } if (jsonObj.Statu == "nopermission") { alert(jsonObj.Msg); window.location = jsonObj.BackUrl; } if (jsonObj.Statu == "err") { alert(jsonObj.Msg); } } }) } })