jQuery1.5有了很多重大的改进,其中最大的改进之一是将整个ajax架构重写。
在XMLHTTPRequest上面做了一层封装,形成了一个超类:jqXHR
在jqXHR上面做了很多的改进工作,具体操作如何我就不一一描述了。
那么我这里做了一点工作是将原有的jQuery1.4的ajax代码迁移至jQuery1.9。
目前发现的问题是:
在没有返回值的情况下,是不可以使用dataType:"JSON"。
原有的jQuery可以写成这样:
$.ajax({
type:"GET",
url:"showMyAccount.do",
dataType:"JSON"
success:function(data){
//这里处理返回值
}
});
jQuery1.5以后,$.ajax()返回一个jqXHR对象。
var request = $.ajax({
url: "script.php",
type: "POST",
dataType: "html"
});
request.done(function(html){
alert(html);
});
总之,代码要求更加严谨,而且jqXHR需要更进一步地掌握
另外这里的dataType必须要好好指定,默认的话不是返回text类型。
所以有一次,在我使用默认的情况下,进行字符串函数replace操作的时,报错了。
如果你指定dataType为json,那么jQuery就在框架里面帮你做了eval的操作。这里需要非常注意。