我有一个简单的 html 文件。它访问 url1 并成功解析 json 响应。
CLIENT -> URL1 -> 对客户端的响应
我在 html 中修改了我的代码并调用了 URL2
客户端 -> URL2 -> URL1 -> 对 URL2 的响应 -> 对客户端的响应
我评论了 url1 并调用了 url2。url2 是一个简单的 servlet,它调用 url1 并获取响应。servlet 将相同的响应返回给客户端,但这次 ajax/jquery 返回parse error。当我提醒(request.responseText)时,它与 URL1 返回的响应完全匹配。
$.ajax({
//url: "http://abc1.com", // Line 1
url: "http://abc2.com", // Line 2
data: {param1, param2},
dataType: "jsonp",
type: "GET",
async:false,
success: function(parsed_json) {
alert("Success");
},
error: function (request, status, error) {
alert("Error" + error);
alert(request.responseText);
}
Servlet 只是中间的一层,将输入流的内容复制到输出流。
InputStream input = new URL(url).openStream();
resp.setContentType("application/json");
// Apache commons IOUtils to copy
IOUtils.copy(input, resp.getOutputStream());
resp.getOutputStream().flush();
我手动验证了 json-string-response,它似乎是一样的。可能是什么问题呢 ?