我对AJAX有一个奇怪的问题,我在页面加载时使用AJAX POST方法返回对象地图。
我正在调试该过程,有时会调用该方法,并且Java Servlet有时会运行。
我正确地包含了JS导入,其他jQuery调用正常工作。
我试过不同的探险家。
我使用的是GET方法,但仍然相同。
以前有人遇到过同样的问题吗?感谢
我的代码:
AJAX:
$(document).ready(function(){
// here there is another ajax servlet call, and it's working fine all time.
$.get("ServletName", function(responseJson) {
//do some action
});
});
的Servlet
package packageName; //I keep it like that without a subfolder name that contains the servlets, doing so not to import the java classes located in the original package...would this be the problem?
@WebServlet(name = "ServletName", urlPatterns = {"/ServletName"})
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Map<Integer, ClassName> objectsTree = new TreeMap<>();
//adding objects to the map
String mapString = new Gson().toJson(objectsTree);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(mapString);
}
我对我的文件位置有疑问,我的JSP文件位于&#34; root \ web \&#34; 我的selvlet位于root \ src \ java \ packageName \ servlets \
但是仍然。调用所有servlet并没有问题,但只有这个调用没有一直到达...如果我一次又一次地运行调试器,它会在一些尝试中起作用。
答案 0 :(得分:1)
我认为我发现了我的错误,我的servlet位于Java类root之后的子文件夹中。但是,我保持servlets包的声明与Java类root相同,而不是将子文件夹名称添加到包声明中。
package packageName;
应该是
package packageName.servlets;
唯一能让我保持这种状态的东西,在很多方面似乎都很好,但最终我遇到了问题。
答案 1 :(得分:0)
我猜你的代码不是在等待文档准备好了。但是如果没有看到你的代码就很难知道。