我在我的应用程序中使用 Struts 1.2。
我想要达到的目标:
1) 使用 javascript 向操作发送 ajax 请求 2) 返回 JSON 对象作为操作的响应 3) 在 javascript 中检索和解析 JSON 响应 4) 使用该值。
我完成了前两个步骤,但对第三个步骤(检索 JSON)感到震惊:
Javascript代码:
function getTransactionId(transactionId){
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200){
alert(xhr.responseText);
//var p = JSON.parse(xhr.responseText);
//alert(p);
}
}
};
xhr.open("POST", "returnMedia.do?transactionId=" + transactionId, true);
xhr.send(null);
}
操作代码:
String actualReturnDateJSON = new Gson().toJson(actualReturnDateMap);
System.out.println(actualReturnDateJSON);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().print(actualReturnDateJSON);
当我在控制台中打印 JSON 值时,我得到了正确的格式,如下所示:{"02-19-2013":"02-19-2013"}
但是当我在javascript中尝试这个时:
if(xhr.status == 200){
alert(xhr.responseText);
//var p = JSON.parse(xhr.responseText);
//alert(p);
}
我没有得到之前在控制台中打印的 JSON 值,即{"02-19-2013":"02-19-2013"}
. 不幸的是,这个警告声明向我展示了整个 HTML 文件
请让我知道出了什么问题:(
谢谢,