用head方法ping jquery.ajax

时间:2013-10-08 13:34:09

标签: jquery ajax ping head

我正在开展一个项目,检查多个网站是否在线。我试图利用以下代码来检查一个众所周知的网站,作为一个试验,但它总是返回错误。我怎么能解决它?

function Ping() {
    $.ajax({
        type: "HEAD",
        url: "http://www.google.com",
        success: function(result){
            alert('reply');
        },
        error: function (result) {
            alert('failure');
        }
    });
}
window.setInterval(Ping, 10000);

1 个答案:

答案 0 :(得分:2)

使用javascript的服务器端代理的替代方法是使用您想要ping的URL加载图像(new Image())并检查图像的onload / onerror事件中的状态。

例如:

var img = new Image();
img.onload = function(){
// the ip/domain is online
}

img.onerror = function(e){ 
// the ip/domain is online
}

img.src = 'http://www.google.co.in'; // the ip/domain to ping

完整的例子在这里: http://jsfiddle.net/GSSCD/203/

这不是一个完整的解决方案,但需要进一步实施;)