javaScript 检測 能否够连接指定server

本文主要讲述怎样在js里面从多个服务端servlet中找到可用的地址

一般项目部署到生产环境之后会有一个生产网段(就是你能够在家訪问)和一个办公网段(仅仅能在公司才干訪问)。

我们的项目部署好了之后,外部系统调用我们的servlet 这个时候就须要检測联哪一个地址,意思就是 须要在js里面检測究竟要连哪个地址

详细js代码例如以下:

 

		function getXhr() {
			var httpreq = null;
			//因为涉及跨域问题,这里优先使用ActiveXObject
			if (window.ActiveXObject) {
				try {
					httpreq = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						httpreq = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e) {
					}
				}
			} else if (window.XMLHttpRequest) {
				httpreq = new XMLHttpRequest();
			}
			return httpreq;
		}
		
		function checkIsConnect(url) {
			var xmlhttp = getXhr();
			xmlhttp.open("GET", url, false);
			try {
				xmlhttp.send(null);
			} catch (e) {
				return false;
			}
			if (xmlhttp.readyState == 4) {
				//readyStatud == 4 表示与服务端完毕交互,即能够连接
				return true;
			}
			return false;
		}
		function test() {
			var urls = new Array("http://zhw:7001/CommonWeb/",
					"http://127.4.0.1:7001/finance/",
					"http://zhw:7031/CommonWeb/");
			var checkUrl = null;
			for (var i = 0; i < urls.length; i++) {
				if (checkIsConnect(urls[i] + "testServlet")) {
					checkUrl = urls[i];
					break;
				}
			}
			if (checkUrl != null) {
				//获取到可用server地址之后的逻辑处理

			} else {
				alert("IP检測无可连接的网络服务,请检查网络连接或确认服务端配置!服务端配置地址例如以下:" + urls);
			}
		}

 


 

posted @ 2017-05-23 11:17  wzjhoutai  阅读(171)  评论(0编辑  收藏  举报