我试图通过在jsp中编写一些代理代码,从我的计算机本地对其他域进行ajax调用。这是我调用proxy.jsp页面的jQuery AJAX代码。
var search_agile_metadata = 'https://doc.xyz.com/rest-services/services/agile/get?id=';
var on_show_info = function() {
//alert("aa");
var outOfDomainCall = search_agile_metadata + current_doc_info.id;
alert(outOfDomainCall);
request_meta_info = $.ajax({
url: "proxy.jsp?url=" + outOfDomainCall,
type: 'GET',
success: on_get_metadata,
error: on_get_metadata_error
});
};
我的proxy.jsp文件是: -
<%@ page language="java" import="org.w3c.dom.*,javax.xml.parsers.DocumentBuilder,javax.xml.parsers.DocumentBuilderFactory,java.net.*,java.io.*" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%
String urlToQuery = request.getParameter("url");
System.out.println("rj " +urlToQuery);
URL url = new URL(urlToQuery);
URLConnection conn = url.openConnection();
InputStream in = conn.getInputStream();
System.out.print(" " +in);
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db =dbf.newDocumentBuilder();
Document doc=db.parse(in);
//NodeList nl= doc.getElementsByTagName("attr");
%>
<%= doc %>
我需要作为一个完整的xml文件进行响应,以便在jQuery AJAX成功函数中,我可以按照自己的方式格式化XML文件。任何想法如何将响应发送回整个XML文件..我尝试以这种方式打印以获取整个xml文件作为响应<%=doc%>
但是没有运气...