这是我遇到的问题的简化版本。如何通过AJAX查询将数据发送到Spring Boot Controller然后打开一个新的JSP页面?当我将数据发送到AJAX查询中的httdocs //root directory of your webserver
|
|-static
|
|-index.html
|-serviceworker.js
到我的控制器类中的匹配URL时,似乎在该方法中运行代码但不打开JSP(或返回类型)。
例如,如果我要从Ajax查询发送以下数据
url
在我的Controller类中使用此方法
var hello = "Hello World!";
$.ajax({
type: "POST",
url: "/message1",
data: {
message: hello,
},
datatype: 'json'
});
}
@RequestMapping(value = "/message1", method = RequestMethod.POST)
public String MessageReceiver(@RequestParam("message")String message,
BindingResult bindingResult,
Model model) {
System.out.println(message);
return "NewPage";
}
将在控制台中打印,但JSP页面"Hello"
将无法打开并且不会提示错误?
通常,如果我只是通过href链接或按钮等调用控制器中的url(例如NewPage
),则会打开/message1
JSP页面。似乎AJAX查询缺少某些东西。我是否必须将Ajax查询中的URL更新为与NewPage
类似的内容(尝试过此操作,没有工作),或者向控制器添加内容,因为/message1/NewPage
JSP页面无法打开
答案 0 :(得分:0)
将成功回调函数添加到您的ajax中,如下所示:
$.ajax({
type: "POST",
url: "/message1",
data: {
message: hello,
},
datatype: 'json',
success: function(data){
if(data === "NewPage"){
//Open new page
}
}
});
}