0
我有一个REST API正在运行,并且我正在使用JQuery向其发布一些数据。使用JQuery提交从REST API不起作用
这是我的jQuery代码的样子:
$(document).ready(function() {
$('#login-form').submit(function() {
var user = $('#uname').val();
var pass = $('#pwd').val();
alert('username = ' + user);
alert('password = ' + pass);
var JSONObject = { 'userName': user, 'password': pass };
var jsonData = JSON.parse(JSONObject);
$.ajax({
url: 'http://127.0.0.1:8080/user/login',
method: 'POST',
data: { userName: user, password: pass },
dataType: 'JSON',
contentType: 'application/json',
success: function (data, status, jqXHR) {
//Do something
console.log('data = ' + data);
},
error: function (jqXHR, status, errorThrown) {
alert('error ' + errorThrown);
}
});
});
});
然而,这段代码是无法访问的API。我没有在服务器日志中看到预期的消息。 当点击表单的Submit按钮时,浏览器会重新加载,并在url中显示表单输入。就这些。
我的API是用Java写的,这是相关的方法。
@RequestMapping(value = "/user/login", method = RequestMethod.POST)
public ResponseEntity<User> logUser(@RequestBody User user){
User loggedUser = loginService.authenticateUser(user);
if(loggedUser != null){
System.out.println("User found");
return new ResponseEntity<User>(loggedUser, HttpStatus.ACCEPTED);
}else{
//user does not exsits
System.out.println("User not found");
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
}
我真的不明白什么是错的。没有显示任何错误。有人能指出我为什么发生这种情况,以及如何解决这个问题。