【发布时间】:2011-12-10 14:04:15
【问题描述】:
我已经查看了这个example,但我仍然无法在 jsp 中检索 JSON 对象。这是我的 MyCalendarController.java 类中的代码:
public class MyCalendarController implements Controller{
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
if("Add".equals(request.getParameter("action"))){
...
JSONObject jObj = new JSONObject();
jObj.put("test", "Success");
response.getWriter().write(jObj.toString());
...
}
return new ModelAndView("mycalendar", "model", myModel);
}
这是我尝试在 jsp 中检索它的方式,但警报总是显示“未定义”
var queryString = "?action=Add";
queryString += "&t=" + title;
queryString += "&sDT=" + stDate + "T" + stHour + ":" + stMin + ":00";
queryString += "&eDT=" + eDate + "T" + eHour + ":" + eMin + ":00";
$.ajax({
type:"GET",
url: "mycalendar.htm" + queryString,
success: function(response){
alert(response.test);
}
});
注意:当从 jsp 对类进行 ajax 调用时,我正在尝试创建 JSON 对象。我是 ajax 和 javascript 的新手,所以一定是做错了什么......请帮忙!!!
在上述代码中,response.responseText 属性为“未定义”。但我尝试了另一种方式:
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
}catch (e){
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
alert(ajaxRequest.responseText);
alert("test: " + ajaxRequest.test);
}
}
var queryString = "?action=Add";
queryString += "&t=" + title;
queryString += "&sDT=" + stDate + "T" + stHour + ":" + stMin + ":00";
queryString += "&eDT=" + eDate + "T" + eHour + ":" + eMin + ":00";
ajaxRequest.open("GET", "mycalendar.htm" + queryString, true);
ajaxRequest.send(null);
这样我得到了 ajaxRequest.responseText 但 alert("test: " + ajaxRequest.test); 仍然显示 undefined
【问题讨论】:
标签: javascript jquery ajax json