js中直接同步、異步調用外部系統連接失效,或者無返回值等狀況的判斷與處理。html
首先要用同步、異步幾種方式測試該連接是否有效,當無效後引入下面jsp代碼,該代碼文件是被調用文件:java
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="org.apache.commons.httpclient.*"%>
<%@ page import="org.apache.commons.httpclient.methods.GetMethod"%>
<%@ page import="java.io.*"%>
<%
String getString = "";
String httpurl = request.getParameter("getMailUrl");
if(httpurl != null && !"".equals(httpurl)){
httpurl = java.net.URLDecoder.decode(httpurl,"UTF-8");
HttpClient httpclient = new HttpClient();
HttpMethod method = null;
method = new GetMethod(httpurl);
try {
httpclient.executeMethod(method);
getString = method.getResponseBodyAsString();
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
out.print(getString);
%>ajax
2.這裏是個取外部郵件的例子,附上調用代碼文件apache
var url = 'http://10.2.10.4/cgi-bin/getnewnum?domain=*****.com&username=<%=accountMail[0]%>';
var getMailUrl = "/defaultroot/public/jsp/ajax_******.jsp?getMailUrl="+encodeURIComponent(url);
var dlzgMailCount = $.trim(com_ajax_ReqDo(getMailUrl));dom
//調用函數異步
function com_ajax_ReqDo(url){
var redata='';
$.ajaxSetup({ async : false });
$.get(url,function(data){
redata = data;
});
$.ajaxSetup({ async : true });
return redata;
}jsp