jQuery ajax函数发送正确的值,但RestController接收null

时间:2019-04-02 10:14:05

标签: javascript jquery spring-restcontroller

这些代码是我的春季启动项目的RestController,

@IBOutlet weak var collectionViewLayout: UICollectionViewFlowLayout!

以下代码是JQuery ajax Java脚本代码。

@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);
    }
}
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); } }); } 返回正确的值。

console.log(user);

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

1 个答案:

答案 0 :(得分:1)

尝试一下:

GENCTRL