我正在使用 Jquery 发送 AJAX POST 请求。成功时我需要将用户重定向到不同的页面,失败时我想留在页面上使用相同的数据。
我有2个问题。
- 在成功时,它不会重定向,它保持在相同的 URL 上并给出 415
- 在失败时,我得到一个 415 而不是渲染页面。
这是我的代码:
var jsonResponse = [];
//jsonResponse is being constructed from the form data, on submit.
var req = {
"name" : "${name}",
"id" : "${id}",
"data" : jsonResponse
};
$.ajax({
url: "url",
type: "POST",
dataType: 'json',
contentType:'application/json',
async: false,
data: JSON.stringify(req),
success: function(result) {
url = window.location.href;
url = url.replace("processData", "getData");
alert(url); //prints localhost:8000/getData
location.href = url; //stays on localhost:8000/processData
},
error: function() {
alert("--- Failure ---");
// should stay on same page with the previous data, but
//returns a 415.
}
});
url1 的控制器
@RequestMapping(value = "processData", method = RequestMethod.POST)
public String post( Model model,
HttpServletRequest httpServletRequest,
@RequestBody FormModel model) {
}
url2 的控制器:
@RequestMapping(value = "getData", method = RequestMethod.GET)
public String get(Model model, HttpServletRequest httpServletRequest)
{
}
我在这里做错了什么?