摘要:jQuery AJAX作为WEB开发必备的技术,是肯定频繁用到的,这里从简单到复杂介绍jQuery AJAX的相关函数,并顺带记录自己犯的错误!
一 . $.get 和 $.post
jQuery &.get 和 &.post 语法相同,列举如下:
$.get(url[,data[,callback[,type]]]);
$.post(url[,data[,callback[,type]]]);
需要注意的问题列举如下:
- 一般JS里面做AJAX操作的数据,使用JS对象形式保存,这里第二个参数就可以使用JS对象传入;
- 最后一个type参数比较重要,它是用来设置请求头里面accept这个属性的值,用来指定客户端请求(期望)返回的数据类型。
- 另外两个函数的返回值都是XMLHttpRequest
犯的错误:
服务器端header(“content-type:application/json;charset=utf-8”);
服务器端测试返回一个字符串
客户端POST请求,type参数为空
这样的结果是回调函数不会被执行
当指定type参数为’text’,才可以执行回调函数
总结:使用 $.get 和 $.post 优点是简单好用,缺点是当出现问题,没有错误信息暴露出来,不容易查找错误。所以就需要使用更复杂一些的 $.ajax
二 . $.ajax
$.ajax的语法如下:
$.ajax([setting]);
//其中的setting是JS对象形式的键值对,用来进行相关设置,用法很灵活。
下面列举一些常用参数:
url
类型:string
默认值:当前url地址
type
类型:string
说明:http请求的类型
默认值:´GET´
async
类型:boolean
说明:设定请求为异步或同步,默认为 TRUE 异步
dataType
类型:sting
说明:用来设置这次http请求的请求头里面accept这个属性值,用来指定客户端请求(期望)返回的数据类型。可以设定的类型有:´json´ ´text´ ´html´ ´script´ ´xml´
如果不指定这个参数:jQuery将根据http包MIME类型来自动智能判断,比如返回JSON类型,则jQuery则自动将这个JSON字符串转换为JS对象给到响应函数里面(前提是这个JSON字符串合法,否则可能不能调用到回调函数)。
contentType
类型:sting
默认值:"application/x-www-form-urlencoded"
说明:发送信息至服务器端的内容编码类型,这个默认值就是我们在html form表单中提交数据一样。
data
说明:发送到服务器端的数据。可以是一个查询字符串,或对象映射,但最终都是转换为查询字符串。一般都使用对象映射来存放要发送的数据。
下面的参数重要了
complete
默认值:function
说明:当请求完成之后调用这个函数,不管成功与失败。
传入参数:function(XMLHttpRequest,textStatus){}
success
说明:当请求成功,并且能够成功解析传回的数据,则调用该函数。
传入参数:function(data,textStatus,jqXHR){}
error
说明:请求失败时调用该函数
传入参数:function(XMLHttpRequest,textStatus){}
用$.ajax()解决上面出现的错误
如果还是上面的错误条件,而使用$.ajax(),然后使用error函数,alert(textStatus);就可以打印出错误信息为parseerror
<完>