Javascript 从客户端检查跨域服务器可用性';s机器(带JSONP、ping等)
我需要检查跨域服务器是否可用。选择包括:Javascript 从客户端检查跨域服务器可用性';s机器(带JSONP、ping等),javascript,jquery,ajax,jsonp,Javascript,Jquery,Ajax,Jsonp,我需要检查跨域服务器是否可用。选择包括: -发送ping -获取HEAD请求 -将自己的服务器设置为代理服务器并在参数中传递跨域服务器数据 -发出JSONP请求 我想在客户端这样做(我总是可以从我的服务器访问跨域服务器) 我需要知道客户的状态。所以javascript是强制性的 我不想使用自己的服务器作为代理,因为这会导致安全问题,而且我无法知道客户端的状态 我在下面尝试了JSONP,但也可以使用ping解决方案或您可以推荐的任何其他解决方案 我在跨域服务器中没有任何特权。我只能使用api密钥
-发送ping
-获取HEAD请求
-将自己的服务器设置为代理服务器并在参数中传递跨域服务器数据
-发出JSONP请求
- 我想在客户端这样做(我总是可以从我的服务器访问跨域服务器)李>
- 我需要知道客户的状态。所以javascript是强制性的李>
- 我不想使用自己的服务器作为代理,因为这会导致安全问题,而且我无法知道客户端的状态李>
- 我在下面尝试了JSONP,但也可以使用ping解决方案或您可以推荐的任何其他解决方案
- 我在跨域服务器中没有任何特权。我只能使用api密钥从服务器发出restful请求
- 我更喜欢基于jquery的异步解决方案。但是使用纯javascript是可以的李>
- 我只需要检查服务器是否可用。如果我能从服务器上知道响应时间会更好。我不需要关于服务器的其他数据李>
如何检查此可用性?公平地说,如果建立了连接,服务器可用,或者您正在从ajax调用中寻找特定值@patric evans-谢谢,我匆忙点击了错误的按钮。我唯一需要做的就是检查客户端机器中的服务器是否可用。(我可以通过我的服务器访问)您可以控制远程服务器吗?JSONP调用的另一端需要一个脚本,该脚本将JSON数据包装在回调函数中,适合嵌入
标记中。JSONP调用不会返回错误,但成功回调永远不会触发,因此您需要设置一个超时,以确定服务器在一定时间后不可用。@iain_simpson谢谢。我编辑了这个问题。我无法控制远程服务器。我只能发出restful请求。恐怕服务器端调用是最好的选择。您将无法直接从浏览器查询Twitter-您需要一个代理脚本。
$.ajax({
url: "https://twitter.com",
dataType: 'jsonp',
success: function (data) {
console.log("success");
//console.log("data2:"+data);
//console.log("data:"+JSON.stringify(data));
},
error: function (r, s, e) {
console.log("error status: " + r.statusText + ", " + r.status);
console.log("error r: " + r);
console.log("error e: " + e);
}
});