Javascript 限制jquery加载函数的执行时间

Javascript 限制jquery加载函数的执行时间,javascript,php,jquery,Javascript,Php,Jquery,我有一个jquery加载函数,如下所示: $("#desc").load("./desc.php?shopcode="+encodeURIComponent(shopcode)); 我想限制函数加载desc.php所需的最长时间(3秒)。例如,如果函数直到3秒才加载,那么它应该停止加载desc.php,并向用户提示“重试加载”。任何帮助都非常有用jQuery方法不直接提供超时选项 您有两个选择: 1。用于在运行load()之前全局设置超时。: $.ajaxSetup({ timeout

我有一个jquery加载函数,如下所示:

$("#desc").load("./desc.php?shopcode="+encodeURIComponent(shopcode));
我想限制函数加载desc.php所需的最长时间(3秒)。例如,如果函数直到3秒才加载,那么它应该停止加载desc.php,并向用户提示“重试加载”。任何帮助都非常有用

jQuery方法不直接提供超时选项

您有两个选择:

1。用于在运行
load()之前全局设置超时。

$.ajaxSetup({
    timeout: 3000
});

$("#desc").load("./desc.php?shopcode="+encodeURIComponent(shopcode));
2。使用较低级别的方法,您可以在其中指定超时时间

$.ajax({
  url: "./desc.php?shopcode="+encodeURIComponent(shopcode),
  dataType: "html",
  timeout: 3000,
  success: function(data) {
    $("#desc").html(data);
  }
});

谢谢你,伙计。但不幸的是,它不起作用。我更喜欢第一种方法,如果它能以某种方式实现的话。它怎么不起作用?超时将在指定的超时后取消ajax请求。当然,如果需要,您仍然需要设置错误处理程序来显示任何错误消息。