我有一個簡單的html文件。它訪問url1併成功解析了json響應。轉發json響應
CLIENT - > URL1 - >響應客戶
我修改了代碼,HTML和調用URL2
CLIENT - > URL2 - > URL1 - >響應URL2 - >響應客戶
我評論了url1並調用了url2。 url2是一個簡單的servlet,它調用url1並獲得響應。 servlet將相同的響應返回給客戶端,但是這次ajax/jquery返回解析錯誤。當我alert(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串響應,它似乎是相同的。 可能是什麼問題?
你能否請一個例子json字符串。 (縮短,如果它是一個大樣本) – Mithon 2012-07-22 02:18:00
@Mithon json字符串很大,但在閱讀您的評論後,我覺得我應該嘗試使用較小的json字符串來找出問題。 – 2sb 2012-07-22 02:31:19
這裏有一個有用的linkey爲你:http://jsonlint.com/ – Mithon 2012-07-22 02:52:47