5

我有一个 jQuery 脚本轮询我的服务器以获取新数据,但如果它因任何原因失败,它需要显示错误消息。

这是我的 AJAX 请求:

$.ajax({
    url: "query.php", // This just runs some MySQL queries and echos the results
    cache: false,
    error: function() {
       $(".status").text("Server is offline.");
       },
    success: function(html) {
       // Everything went fine, append query results to div
       }
});

我发现如果重命名 query.php 使其无法访问,则会触发错误函数并显示消息。但是,如果我使 Web 服务器脱机,则不会触发错误功能。

如何调整我的代码以检测主机何时无法访问?

4

1 回答 1

2

您应该设置一个低超时,需要注意的是仍然会调用成功,因此您必须检查此时是否有任何数据以知道它是否超时。

.ajax({
    url: "query.php", // This just runs some MySQL queries and echos the results
    cache: false,
    timeout: 4000, // 4 seconds
    error: function() {
       $(".status").text("Unable to retrieve data.");
       },
    success: function(html) {
       if (html) {
           // Everything went fine, append query results to div
       }
       else {
           $(".status").text("Server is offline.");
       }
});
于 2012-06-12T01:27:38.887 回答