gpt4 book ai didi

javascript - JQuery ajax 函数发送正确的值。但 RestController 接收 null

转载 作者:行者123 更新时间:2023-12-02 23:54:20 27 4
gpt4 key购买 nike

这些代码是我的spring boot项目的RestController,

@RestController
@RequestMapping(value="/rest/user")
public class UserRestController {

@Autowired
private UserService userService;

@PostMapping("login")
public ResponseEntity<Boolean> authenticated(@RequestBody User user) {

System.out.println(user.getUsername() +":"+ user.getPassword()); //This line returns NULL password value

Boolean blogin = userService.authenticate(user.getUsername(), user.getPassword());
if(!blogin)
return new ResponseEntity<Boolean>(blogin, HttpStatus.NOT_ACCEPTABLE);

return new ResponseEntity<Boolean>(blogin, HttpStatus.OK);
}
}

下面的代码是 JQuery ajax java 脚本代码。

function ajax_login_submit() {

var user = {
username: $("#username").val(),
password: $("#password").val()
};

console.log(user);

$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "rest/user/login",
data: JSON.stringify(user),
dataType: 'json',
success: function (data) {

var resultJson = JSON.stringify(data);
$('#helloUserDiv').html(resultJson);
console.log("SUCCESS : ", data);
alert(data);

},
error: function (e) {

var resultJson = e.responseText;
$('#helloUserDiv').html(resultJson);
console.log("ERROR : ", e);
}
});
}
java脚本的

console.log(user);返回正确的值。

{"username":"joseph","password":"password"}

但是在RestController代码中,密码值丢失,“NULL”。System.out.println(user.getUsername() + ":"+ user.getPassword()); 行返回奇怪的值,"joseph:null"JQuery ajax方法是否可以不将json值传输到REST服务器?如果我犯了一些错误,请告诉我如何正确地将 json 值发送到 REST 服务器。

最佳答案

试试这个:

 $.ajax({
type: "POST",
contentType: "application/json",
url: "rest/user/login",
data: JSON.stringify({"username": $("#username").val(), "password": $("#password").val()}),
dataType: 'json',
success: function (data) {
var resultJson = JSON.stringify(data);
$('#helloUserDiv').html(resultJson);
console.log("SUCCESS : ", data);
alert(data);
},
error: function (e) {
var resultJson = e.responseText;
$('#helloUserDiv').html(resultJson);
console.log("ERROR : ", e);
}
});

关于javascript - JQuery ajax 函数发送正确的值。但 RestController 接收 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55472240/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com