我有一个使用Servlets和JQuery的Java Web应用程序。我在servlet上使用$ .get()方法,该方法只是将对象转换为JSON并将其写回。这曾经工作,但由于某种原因它不再有效。我在调试中发现$ .get()方法根本没有被调用,但Javascript文件的其余部分是。它只是完全跳过$ .get()方法。但我似乎无法弄明白为什么。这是我的代码:
JavaScript的:
window.onload = function () {
$.get('OrdersToJSONServlet', function (responseText) {
// ...I use responseText to populate Google Charts
}
Java Servlet:
/**
* <h1>Servlet implementation for converting order objects to JSON for use with JS</h1>
*/
@WebServlet("/OrdersToJSONServlet")
public class OrdersToJSONServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public OrdersToJSONServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @param request
* @param response
* @throws javax.servlet.ServletException
* @throws java.io.IOException
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Object orders = request.getSession().getAttribute("orders");
String json = new Gson().toJson(orders);
try {
response.getWriter().write(json);
} catch (IOException e) {
System.out.println("problem parsing JSON");
}
}
}
我认为JQuery引用的注释可能在某种程度上是不正确的,但我不确定这是怎么回事,也不确定。在此先感谢您的帮助!
答案 0 :(得分:0)
对于对这种情况感兴趣的其他人,我自己想出了这个问题。 $ .get方法位于window.onload中。我的Javascript在外部文件中,这两个不兼容。愚蠢的错误!