Javascript Spark POST返回404,似乎不是任意找到的

Javascript Spark POST返回404,似乎不是任意找到的,javascript,java,post,http-status-code-404,Javascript,Java,Post,Http Status Code 404,斯帕克最近表现得很怪异。我有一个按钮,单击该按钮可调用带有一些查询参数的POST方法: post("/test", (request, response) -> { model.put("reason", "some reason here"); ... LOG.info("Returning from /test with reason: " + model.get("reason")); // the above line always execu

斯帕克最近表现得很怪异。我有一个按钮,单击该按钮可调用带有一些查询参数的POST方法:

post("/test", (request, response) -> {

    model.put("reason", "some reason here");
    ...

    LOG.info("Returning from /test with reason: " + model.get("reason")); 
    // the above line always executes and always prints the correct output (never 404)

    return new ModelAndView(model, "test.vtl");
}, new VelocityTemplateEngine());
文件
test.vtl
仅包含以下内容:
$reason
(这在下面的JS代码中用于显示带有
模型
映射中
原因
键内容的警报)

JS相关代码:

xmlHttp.open("POST", "/test", true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

var params = "file=" + file + "&searchStr=" + searchStr;

xmlHttp.onreadystatechange = function() {
    if (xmlHttp.readyState == XMLHttpRequest.DONE) {
        alert(xmlHttp.responseText);
    }
}
xmlHttp.send(params);
当我点击它时,有时它工作得很好,当我再次点击时,我会得到一个404,但找不到:

MatcherFilter:152-请求的路由[/test]尚未映射到Spark中

这发生在几秒钟之内。我点击-它工作-我再次点击如果失败-再次失败-再次失败-再次失败-再次突然成功

这怎么可能


另外,我在
post
请求中记录了日志,所以我知道Spark实际上正在访问它。但它并没有从中恢复过来。这是否可能与突然引发404的
帖子中的代码有关(尽管我没有从中访问其他页面)。

似乎有两个可能的答案(他们为什么解决是另一个问题):

  • 添加
    线程睡眠(250);//甚至更低
  • 将请求更改为
    GET

  • 我无法找到这些任意失败的根本原因,但最终选择了选项2。

    对此似乎有两个可能的答案(为什么他们解决的是另一个问题):

  • 添加
    线程睡眠(250);//甚至更低
  • 将请求更改为
    GET
  • 我无法找到这些任意失败的根本原因,但最终选择了选项2