涉及到跨域調用時,一般的js ,得不到應有的數據。必須通過UrlConnection來獲取到字節數據,來顯示出來
思路:當前項目下的js請求到一個jsp頁面,在這個jsp上通過urlConnect 鏈接來獲取數據,并根據狀態,回寫到所要的js調用之處。
function getText(depart){
var url="/.././*.jsp?depart="+depart;
xreq = createXmlHttpRequest();
if (!xreq){
? alert('Giving up
Cannot create an XMLHTTP instance');
? return false;
}
var url=url+"&temptime="+Math.random();
xreq.onreadystatechange = showArticleInfo;? //回調函數。
xreq.open('GET', url, true);
xreq.send(null);
}
function showArticleInfo(){
if (xreq.readyState == 4){
? if (xreq.status == 200){
?? var articleInfo= xreq.responseText;
//業務處理
??? var artId=artInfoArr[0];
??? var artTitle=artInfoArr[1];
??? var openArticleUrl="/.././*.jsp?art_bh="+artId;
??? window.open(openArticleUrl,"newwindow","width=500,height=200,scrollbars=yes,resizable=yes");
?? }??
? }
? else if(xreq.status== 500){
?? alert('ERRO'+xreq.responseText);
? }
}
}
jsp?? //跨域得到數據
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String depart = request.getParameter("depart");
String retArtInfo = "";
if (!(depart == null || depart.trim().equals(""))) {
? String url = "http://外網地址/項目名/*.do?method=*&depart="+depart+"&tamp="+ new Date().getTime();
//方法返回的是串
? URL U = new URL(url);
? String result = "";
? try {
?? URLConnection connection = U.openConnection();
?? connection.connect();
?? BufferedReader in = new BufferedReader(
???? new InputStreamReader(connection.getInputStream()));
?? String line;
?? while ((line = in.readLine()) != null) {
??? result += line;
?? }
?? retArtInfo=result;
?? in.close();
?? out.clear();
? } catch (Exception e) {
? }
}
out.println(retArtInfo);
%>
思路:當前項目下的js請求到一個jsp頁面,在這個jsp上通過urlConnect 鏈接來獲取數據,并根據狀態,回寫到所要的js調用之處。
function getText(depart){
var url="/.././*.jsp?depart="+depart;
xreq = createXmlHttpRequest();
if (!xreq){
? alert('Giving up

? return false;
}
var url=url+"&temptime="+Math.random();
xreq.onreadystatechange = showArticleInfo;? //回調函數。
xreq.open('GET', url, true);
xreq.send(null);
}
function showArticleInfo(){
if (xreq.readyState == 4){
? if (xreq.status == 200){
?? var articleInfo= xreq.responseText;
//業務處理
??? var artId=artInfoArr[0];
??? var artTitle=artInfoArr[1];
??? var openArticleUrl="/.././*.jsp?art_bh="+artId;
??? window.open(openArticleUrl,"newwindow","width=500,height=200,scrollbars=yes,resizable=yes");
?? }??
? }
? else if(xreq.status== 500){
?? alert('ERRO'+xreq.responseText);
? }
}
}
jsp?? //跨域得到數據
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String depart = request.getParameter("depart");
String retArtInfo = "";
if (!(depart == null || depart.trim().equals(""))) {
? String url = "http://外網地址/項目名/*.do?method=*&depart="+depart+"&tamp="+ new Date().getTime();
//方法返回的是串
? URL U = new URL(url);
? String result = "";
? try {
?? URLConnection connection = U.openConnection();
?? connection.connect();
?? BufferedReader in = new BufferedReader(
???? new InputStreamReader(connection.getInputStream()));
?? String line;
?? while ((line = in.readLine()) != null) {
??? result += line;
?? }
?? retArtInfo=result;
?? in.close();
?? out.clear();
? } catch (Exception e) {
? }
}
out.println(retArtInfo);
%>
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
