我正在使用 ajax 在 servlet 上发出请求并接收 json 字符串
servlet 代码//服务器端
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setHeader("Content-Type", "text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
Gson gson = new Gson();
try {
ArrayList<SearchedCourse> searchedCourses = null;
int semesterNo = request.getParameter("semesterNo");
searchedCourses = //Using function to retrieve data from DB and return an ArrayList
String courses = gson.toJson(searchedCourses);
out.write(courses);
}
}
} finally {
out.close();
}
}
这是返回的 json 字符串“我用 firebug 复制了它”
[{"courseNumber":1619,"courseNo":"HADTA1100","courseName":"قرآن كريم (1) جزء عم","courseExamDate":"Aug 21, 2011","courseExamTimeFrom":"14:30","courseExamTimeTo":"15:30"},{"courseNumber":1663,"courseNo":"HADTB1100","courseName":"قرآن كريم (2) جزء تبارك","courseExamDate":"Aug 23, 2011","courseExamTimeFrom":"14:30","courseExamTimeTo":"15:30"}]
我使用下面的代码来解析Json字符串 在客户端
jQuery.ajax({
url: 'auth/json/AvailableCoursesGetter',
type: "GET" ,
dataType: "json",
data: {
'semesterNo': 20112
},
success: function(data) {
for (var i = 0, len = data.length; i < len; i++) {
document.write(data[i].courseNumber);
}
}
});
它在 Mozilla FireFox4 上运行良好,但在 Google Chrome 和 IE 上它不显示任何东西
有什么帮助吗?
最佳答案
我刚刚看到您在 servlet 中输出了以下 header :
response.setHeader("Content-Type", "text/html;charset=UTF-8");
尝试将内容类型更改为 application/json
。
关于javascript - 在javascript中解析JSON字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204675/