使用AJAX检查远程站点是否在线?

Zap*_*apk 3 javascript php ajax jquery curl

我的网站使用PHP的cURL检查5个不同的URL,以判断它们是否在线.问题是加载页面需要很长时间(特别是如果其中一个站点正在检查已关闭).

我听说jQuery的ajax运行良好,所以我尝试了这段代码:

<div class="alert alert-info" id="forum-blockland-us"><b>Checking...</b></div>
<script>
$.ajax({ type: "GET",
    url: "http://forum.blockland.us/",
    cache:false,
    success: function() { 
        $("#forum-blockland-us").addClass("alert-success");
        $("#forum-blockland-us").removeClass("alert-info");
        $("#forum-blockland-us").html("<b>Online</b>");
    },
    error: function() {
        $("#forum-blockland-us").addClass("alert-danger");
        $("#forum-blockland-us").removeClass("alert-info");
        $("#forum-blockland-us").html("<b>Offline</b>");
    }
});
</script>
Run Code Online (Sandbox Code Playgroud)

但它总是会返回错误,即使我100%知道这些网站是在线的.

Edg*_*ado 8

如果网站是远程的,也有因多的机会,你将不能够使用JavaScript来实现它同源策略.

但是,在php中,你只能生成一个HEAD请求,因此它不会加载内容,所以它会更快,更快.

希望这可以帮助.干杯