gpt4 book ai didi

javascript - AJAX post方法,有时在页面加载时触发,有时不触发

转载 作者:行者123 更新时间:2023-12-03 09:19:05 25 4
gpt4 key购买 nike

我在使用 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 文件位于“root\web\”下我的 selvlet 位于 root\src\java\packageName\servlets\

但仍然如此。所有 servlet 都被调用,没有问题,但只有这个调用没有一直到达...如果我一次又一次地运行调试器,它会在某些尝试中工作。

最佳答案

我想我发现了我的错误,我的 servlet 位于 Java 类根目录之后的子文件夹中。然而,我保留了 servlet 包的声明与 Java 类根目录相同,而不是将子文件夹名称添加到包声明中。

package packageName;

应该是

package packageName.servlets;

唯一让我保持这种状态的是,很多方面看起来都很好,但最终我因此遇到了问题。

关于javascript - AJAX post方法,有时在页面加载时触发,有时不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31889073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com