首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js跨域访问解决办法(jsp代理)

2013-04-20 
js跨域访问解决方法(jsp代理)%@ page importjava.net.*,java.util.*,java.lang.*,java.io.*%%@ page

js跨域访问解决方法(jsp代理)
<%@ page import="java.net.*,java.util.*,java.lang.*,java.io.*"%><%@ page contentType="text/xml;charset=gb2312"%><% String url = null;StringBuffer params = new StringBuffer();Enumeration enu = request.getParameterNames();//String str=request.getQueryString();//System.out.println(str);while (enu.hasMoreElements()) {String paramName=(String)enu.nextElement();if(paramName.equals("url")){ url=request.getParameter(paramName);}else{ //有的url参数顺序有规定,按此读出的是逆序,因此要插到paramName的前面 params.insert(0, URLEncoder.encode(request.getParameter(paramName), "UTF-8")); params.insert(0, "="); params.insert(0, paramName); if(enu.hasMoreElements()){ params.insert(0, "&"); }}}url = url + "?" + params.toString();//out.println(url);System.out.println("url:"+url);if(url != null){// 使用GET方式向目的服务器发送请求URL connect = new URL(url.toString());URLConnection connection = connect.openConnection();connection.connect();BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while((line = reader.readLine()) != null){ out.println(line);}reader.close();}%>

? ? javascript端源码:

var thr;function getanswer(){    try{alert(thr.responseText);    }catch(e){    alert("getanswer error:"+e.message);    }        }function testone(){try{thr = createXMLRequestObj();var url = "proxy.jsp?url=http://192.168.2.101:80/ScanWlan.cgi?NAME=WANG";var param="name=wang";//alert("first readystate:"+thr.readyState+" status:");thr.open ("GET", url, true);thr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//上面这句不可少啊!!!!!!!!!!!!!!!thr.onreadystatechange=getanswer;if(thr==null){alert("not create sucess");return;}thr.send(null);}catch(e){alert("error"+e.message);}}function createXMLRequestObj(){    var xmlReqObj = null;    if (xmlReqObj == null){    try {xmlReqObj = new XMLHttpRequest();}//非IE    catch (e) {xmlReqObj = null;}    }    if (xmlReqObj == null){    try {xmlReqObj = new ActiveXObject("Msxml2.XMLHTTP");}    catch (e) {xmlReqObj = null;}    }    if (xmlReqObj == null){    try {xmlReqObj = new ActiveXObject("Microsoft.XMLHTTP");}    catch (e) {xmlReqObj = null;}    }    return xmlReqObj;}

?

热点排行
Bad Request.