如何设置负载jQuery的超时这个具体的例子?(How do I set a timeout in

2019-10-18 01:14发布

如何设置在负载超时,我通过数据与字符串这个非常特别的例子吗? 看起来应该是从compare_proc.php API加载正在长......因为上单击事件,我得到了一个空白的结果和我期待的图表从compare.php加载谷歌的图表。我想我多么可以设置这个特殊的Jquery操作超时。 谢谢 !

    jQuery(document).ready(function() {
          $("#opposition a").click(function(e) {
          var first_id  = $(this).attr('id');
          var second_id = $("h1").attr('id');
          $("div#test").load('compare_proc.php','id=' + first_id + '&id2=' + second_id);
          e.preventDefault();
            });
});

Answer 1:

jQuery的load()方法不接受任何settings PARAM。 所以,你有更多的低层次的方法来取代它的ajax()调用-它可以让你指定timeout这个具体要求设置。 一种可能的方式做到这一点:

$.ajax('compare_proc.php', {
  data: 'id=' + first_id + '&id2=' + second_id,
  timeout: someTimeoutInMs,
  success: function(resp) {
    $('#test').html(resp);
  }
});

另一种方法是按原样留下您的代码,但修改全局AJAX设置有代替ajaxSetup()调用(调用之前load )。 需要注意的是使用这个API是强烈反对它很文档页面:

这里指定的设置将影响到所有调用 $.ajax或者基于AJAX的衍生物,如$.get() 这可能会导致不希望的行为,因为其他呼叫者(例如,插件)可以期待正常的默认设置。 为此,我们强烈建议您不要使用此API。 相反,在通话明确设置选项或定义一个简单的插件来实现。

不过,你的情况(当时只有超时设置被更改),它可能是确定走这一条道路。



文章来源: How do I set a timeout in load Jquery for this particular example?