从xmlhttp.responseText获取HTML而不是JSON

时间:2016-06-26 18:23:44

标签: java ajax servlets web xmlhttprequest

我是AJAX的新手,我遇到了以下问题。我想从我的Servlet接收一个JSON数组,并在我的JavaScript文件中使用JSON对象。我想我并没有真正理解这背后的概念,谷歌并没有很好地帮助我。以下是Javascript和Servlet的2个片段。

使用Javascript:

var xmlhttp = new XMLHttpRequest();
var kaljson;
xmlhttp.onreadystatechange = function(){
   if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
      console.log(xmlhttp.responseText);
      kaljson = JSON.parse(xmlhttp.responseText);
   }
}
xmlhttp.open("GET","KalenderFaerben",true);
xmlhttp.send();

for(var i = 0; i < kaljson.length; i++){
   alert(kaljson[i].datum);
}

的Servlet

HttpSession session = request.getSession();
ArrayList<NotizBean> kalender = (ArrayList<NotizBean>) session.getAttribute("kalender");
String kalenderArray = "[";
for (int i = 0; i < kalender.size(); i++) {
    kalenderArray += "{\"datum\":\"" + kalender.get(i).getDatum()+"\"}";
    if(i < (kalender.size()-1))
        kalenderArray += ",";
}
kalenderArray += "]";
System.out.println(kalenderArray);
request.setAttribute("kalenderJson", kalenderArray);

RequestDispatcher dispatcher = request.getRequestDispatcher("/jsp/kalender.jsp");
dispatcher.forward(request, response);

我哪里错了?希望有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

好的,我解决了这个问题。我只是不明白所有这一切背后的概念。我正在调度带有HTML内容的常用jsp文件,而不是仅调用带有JSON对象的jsp文件。