jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery Keyup Ajax请求:杀死以前的请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个脚本在我的搜索输入框上的keyup事件上执行ajax请求.我在Firefox中注意到(我正在查看控制台)每个被发送的请求都会完成.所以有大量的ajax请求发生.

无论如何在keyup事件中杀死正在进行的ajax请求?

jQuery的:

jQuery(function() {
  var request;
  request = function(url,keyword) {
    return $.post('/BACkpack/' + url + '/search?keyword=' + keyword,function(data) {
      var el;
      el = "#result_" + url;
      return $(el).html(data);
    });
  };
  $("#search_text").bind("keyup",function() {
    var query,url,_i,_len,_ref;
    query = $(this).val();
    if (query.length > 2) {
      _ref = ['tracks','albums','artists'];
      for (_i = 0,_len = _ref.length; _i < _len; _i++) {
        url = _ref[_i];
        request(url,query);
      }
      return $("#search_suggestions").show();
    } else {
      return $("#search_suggestions").hide();
    }
  });
  return $("#suggestion_all_results").bind("click",function() {
    return $('#search_form form').submit();
  });
});

解决方法

这已在 ultimate-uber-authoritative thread here中得到解答.

简答:它返回一个XHR对象,你可以@L_696_7@abort()

如果您要发送keyup事件,您可能还会添加延迟;它会对您的服务器造成相当大的负担,所以在您打扰事件之前等待笔画间歇几秒钟.

正如Erv Walter在上述帖子的评论中所说:“值得注意的是,如果服务器已经收到请求,它可能会继续处理请求(取决于服务器的平台),即使浏览器不再监听响应.没有可靠的方法使Web服务器@R_197_11598@正在进行的请求时停止.“

我遇到了同样的问题做ajax建议查找;)

大佬总结

以上是大佬教程为你收集整理的jQuery Keyup Ajax请求:杀死以前的请求全部内容,希望文章能够帮你解决jQuery Keyup Ajax请求:杀死以前的请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。