【发布时间】:2018-02-26 12:31:04
【问题描述】:
我正在使用 Maven Rest API。通过 jQuery Ajax 调用发出 POST 请求时出现 415 错误。请看一下我的代码。
function getUserDetails() {
var name = $("#name").val();
var mobile = $("#mobile").val();
var location = $("#location").val();
var email = $("#email").val();
var userDetails = {
"name": name,
"mobile": mobile,
"email": email,
"location": location
};
return userDetails;
}
function createuser() {
sendRequest("registerProcess", getUserDetails(), "post");
}
function sendRequest(url, input, method) {
$.ajax({
url: url,
async: false,
data: JSON.stringify(input),
error: function(response) {
//displayResponseMessage(response);
console.log("Error");
},
success: function(response) {
console.log(" Successfull");
},
type: method,
headers: {
Accept: 'application/json;charset=utf-8',
contentType: 'application/json;charset=utf-8'
},
dataType: 'json'
});
}
这是我的控制器。 UserForm 是 POJO 类
@RequestMapping(value = "/registerProcess", method = RequestMethod.POST,consumes= MediaType.APPLICATION_JSON_VALUE)
public String addUser(@RequestBody UserForm user)
{
System.out.println("Inside Controller" );
String email = user.getEmail();
String mobile = user.getMobile();
System.out.println("Details :" + email + mobile);
return "welcome";
}
提前致谢
【问题讨论】:
-
除了眼前的问题,但永远不要使用
async: false。如果您正确使用回调模式,则没有理由使用它。 -
对于问题本身,415 错误表明请求的格式不正确。您正在发送 JSON - 您确定 API 期望的是,而不是表单 urlencoded 数据?
-
试试
data:input而不是data: JSON.stringify(input)
标签: javascript java jquery rest spring-mvc