有没有办法在jQuery中检查服务器的可达性测试

时间:2013-07-26 09:24:48

标签: javascript jquery cordova jquery-mobile cordova-2.0.0

有没有办法检查服务器的可达性测试。如果应用程序无法连接服务器,那么它会显示警报吗?有什么方法可以检查.. 我检查了互联网连接。如果没有连接,那么我正在显示警报。但是如果有连接但服务器没有可达性而不能处理这个问题。  我正在检查这个连接状态.. !!

setInterval(function () {
    connectionStatus = navigator.onLine ? 'online' : 'offline';
    if(connectionStatus=="offline"){
        // alert("There is no connection");
    }
}, 100);



$.ajax({url: "192.168.12.171",
        dataType: "jsonp",
        statusCode: {
            200: function (response) {
                alert('status 200');
            },
            404: function (response) {
                alert('status  404 ');
            }
        }                        
 });

2 个答案:

答案 0 :(得分:21)

要测试您的服务器是否已启动,您需要连接到它并检查状态按摩:

$.ajax('LINK GOES HERE', {
  statusCode: {
    404: function() {
      alert('Not working');
    },
    200: function() {
      alert('Working');
    }
  }
});

使用jsFiddle示例:http://jsfiddle.net/Gajotres/PMrDn/47/

$.ajax({url: "http://api.themoviedb.org/2.1/Movie.search/en/json/23afca60ebf72f8d88cdcae2c4f31866/The Goonies",
        dataType: "jsonp",
        statusCode: {
            200: function (response) {
                alert('status 200');
            },
            404: function (response) {
                alert('status  404 ');
            }
        }                        
 });

编辑:

使用此:

$.ajax({url: "http://192.168.12.171",
        type: "HEAD",
        timeout:1000,
        statusCode: {
            200: function (response) {
                alert('Working!');
            },
            400: function (response) {
                alert('Not working!');
            },
            0: function (response) {
                alert('Not working!');
            }              
        }
 });

工作示例:http://jsfiddle.net/Gajotres/PMrDn/48/

答案 1 :(得分:0)

一种应该工作的hacky方式是从服务器加载图像(或字体,样式,javascript)并检查image loads是否。只要从服务器加载不受CORS策略限制的内容,此方法当然只能工作。