SpringMVC,带ajax的jQuery-获取415
我正在使用Jquery发送一个AJAX POST请求。成功时,我需要将用户重定向到不同的页面,失败时,我希望使用相同的数据停留在页面上 我有两个问题SpringMVC,带ajax的jQuery-获取415,jquery,ajax,spring-mvc,http-status-code-415,Jquery,Ajax,Spring Mvc,Http Status Code 415,我正在使用Jquery发送一个AJAX POST请求。成功时,我需要将用户重定向到不同的页面,失败时,我希望使用相同的数据停留在页面上 我有两个问题 成功后,它不会重定向,而是停留在相同的URL上&给出415 失败时,我得到的是415而不是呈现的页面 这是我的密码: var jsonResponse = []; //jsonResponse is being constructed from the form data, on submit. var req = {
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)
{
}
我正在附加收到的错误消息的快照。
我在这里做错了什么?问题在于表单。我有一个提交按钮,它在AJAX调用结束后也提交数据。所以我不得不删除这个功能
$('form').on('submit', function(e) {
e.preventDefault();
最初:
<input type="Submit" value="Submit" />
下面是我问的一个问题的答案:如果ajax参数有效,您是否会尝试从中删除contentType:'application/json'。您是否会从您的ajax调用中得到此错误作为响应?或者在执行成功/错误函数时?@Patel在执行成功/错误回调时,它会打印警报(),然后呈现415异常。@arunbahal它不起作用。删除后,控件甚至无法到达控制器。您尚未共享完整URL。如果您提供完整的URL以及所传递的数据,那将是非常棒的
$('form').on('submit', function(e) {
e.preventDefault();