日期:2014-05-16  浏览次数:20870 次

JQuery中止(abort)Ajax请求

JQuery有一个很实用的插件:Autocomplete,即可以实现像搜索引擎一样的关键字提示,当然,提示的内容是用ajax请求后台的内容,这个插件的功能是将后台搜索到的相关词以比较好的方式显示出来,这个插件有一个功能,是当用户在输入框打字比较快时,就会自动终止之前发的ajax请求,尽量减少后端的压力,这个是如何实现的呢?

?

通常我们用JQuery发起一个ajax请求,主要的行为是在请求成功的回调函数中,调用方式也都是直接调用JQ的成员函数:

?

$.post(ulr, data, function(){});

$.get(url, data, function(){});

$.ajax({});

?

其实这些调用本身也可以进行链式调用,返回的对象是:The jqXHR Object,这个对象有一个函数叫做abort(),可以做请求终止的操作:

?

var v_jq = $.ajax({});
v_jq.abort();
?

?

当然也有其他的一些功能,比如附加header,获取相应header等等,具体请参考JQuery的官方文档:

?

http://api.jquery.com/jQuery.ajax/