簡體   English   中英

在Spring RestController的Ajax POST中出現400錯誤的請求錯誤

[英]400 bad request error in Ajax POST to spring RestController

我有一個ajax代碼

/**
 * Ajax Logic for submitions
 * */
$.ajax({
    contentType : 'application/json; charset=utf-8',
    type: 'POST',
    url: '/domain/insert/',
    dataType : 'json',
    data : 'firstName:' + $("#first_name").val() /*+ "&lastName;=" + $("#lastName").val() + "&email;=" + $("#email").val()*/,
    success : function(callback){       
         console.log("Data inserted.........");
    },
    error : function(){
        console.log("Error.........");
    }
});

將控制台作為

POST http://localhost:8080/domain/insert/ 400 (Bad Request)
Z.cors.e.crossDomain.send @ common.min.js:3
J.extend.ajax @ common.min.js:3
t.length.t.steps.onStepChanged @ forms_wizard.min.js:34
J.event.dispatch @ common.min.js:2
m.handle @ common.min.js:2
J.event.trigger @ common.min.js:2
J.fn.extend.triggerHandler @ common.min.js:2
(anonymous function) @ wizard_steps.min.js:1
c @ common.min.js:2
d.fireWith @ common.min.js:2
(anonymous function) @ common.min.js:2
c @ common.min.js:2
d.fireWith @ common.min.js:2
a @ common.min.js:2
c @ common.min.js:2
d.fireWith @ common.min.js:2
d.fire @ common.min.js:2
J.extend.dequeue @ common.min.js:2
i.complete @ common.min.js:2
c @ common.min.js:2
d.fireWith @ common.min.js:2
I.l @ common.min.js:1
J.fx.tick @ common.min.js:3
forms_wizard.min.js:47 
Error.........

我在RestController中的insert方法是

@RequestMapping(value = "/question/", headers="Accept=*/*", consumes="application/json", method = RequestMethod.POST)
    public ResponseEntity<Void> insert(@RequestBody User user) {
        System.out.println("Creating " + user.getFirstName()); 
        service.save(user);        
        return new ResponseEntity<Void>(HttpStatus.CREATED);
    }

好的,如果我使用Postman將數據發布到控制器,則成功,但是通過上面的ajax代碼,我得到400錯誤.....

您的data屬性是問題

您需要在數據中傳遞一個json對象,以使其工作

data : {username: 'username'}

想要將其寫為評論,但還不能...
您的JQuery版本是什么?如果使用Postman進行發布,您的設置是什么?
您還會為請求和響應提供網絡請求嗎?
嘗試將數據包裝在方括號中: {'firstName:' ... }

過去(雖然沒有春季),我過去也遇到過類似的問題,必須將消費設置為'application/json; charset=utf-8' 控制器中的'application/json; charset=utf-8' (盡管Intellij將其標記為不正確)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM