本文主要讲述怎样在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); } }