如何为此特定示例设置加载Jquery的超时?

如何使用字符串传递数据这个非常特殊的示例,如何设置加载超时? 看起来应该从compare_proc.php api加载的谷歌图表需要很长时间…因为在click事件中,我得到一个空白结果,我期待从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(); }); }); 

jQuery load()方法不接受任何settings参数。 因此,您必须使用更低级别的方法ajax()调用替换它 – 这允许您为此特定请求指定timeout设置。 一种可行的方法:

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

另一种方法是保持代码不变 ,但是使用ajaxSetup()调用(在调用load之前修改全局AJAX设置。 请注意,强烈建议不要在其文档页面上使用此API:

此处指定的设置将影响对$.ajax或基于AJAX的衍生产品(如$.get() 所有调用 。 这可能导致不良行为,因为其他呼叫者(例如,插件)可能期望正常的默认设置。 出于这个原因,我们强烈建议不要使用此API。 相反,在调用中显式设置选项或定义一个简单的插件来执行此操作。

在你的情况下(当只更改超时设置时),也可以这样做。