Javascript Spark POST返回404,似乎不是任意找到的
斯帕克最近表现得很怪异。我有一个按钮,单击该按钮可调用带有一些查询参数的POST方法: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("/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