我有一个将在客户端计算机上运行的自托管服务(使用WCF)。该服务应该向另一台服务器发出请求,以XML格式获取数据,然后将数据返回给我JSONP
。现在我想检查服务是否正在运行..我该如何检查?
在我的JS代码中,我使用$.getJSON进行回调,所以我尝试使用.fail
这样:
$.getJSON("http://localhost:8080/url?callback=?", function () {
alert("success");
}).fail(function () {
alert('fail');
})
但是当服务器未运行时未调用失败函数(在chrome上,Type为pending
且Status
失败)
然后我尝试使用这样的$ .AJAX:
$.ajax({
type: 'GET',
dataType: 'jsonp',
url: 'http://localhost:8080/url?callback=?',
success: function (data, textStatus) {
alert('request successful');
},
error: function (xhr, textStatus, errorThrown) {
alert('request failed');
}
});
我得到了同样的结果。
答案 0 :(得分:0)
当您向本地主机发出AJAX请求并且/url?
返回天气其他服务器启动时,您的脚本不会失败。因为http://localhost/url
在线。
我让/url
脚本返回带有remoteHostOnline: true or false
的JSON数组,
然后使用:
$.ajax({
type: 'GET',
dataType: 'jsonp',
url: 'http://localhost:8080/url?callback=?',
success: function (data, textStatus) {
if (data.remoteHostOnline == false) {
alert('remote host not online');
}
}
});
您可能需要调整此脚本我没有测试它,但您会明白错误。