簡體   English   中英

400 Ajax調用Spring控制器時出現錯誤請求錯誤

[英]400 Bad request error in Ajax call to Spring controller

我正在嘗試將數據發送到Spring控制器,但我在瀏覽器控制台中收到了400 badrequest錯誤。 這是我的代碼:

JavaScript的:

function insertDiscussion(title, content,tags) {
    $.ajax({
        async:false,
        url: 'save',
        contentType: 'application/json; charset=utf-8',
        type: 'POST',
        dataType: 'json',
        data: {
            "title": title,
            "content": content,
            "tags":tags
        },
        success: function(data) {
            generateNoty(data, "warning");
        }
    });
}

控制器:

@RequestMapping(value = "/save", method = RequestMethod.POST)
public String saveDiscussion(
        @RequestParam String title,
        @RequestParam String content, @RequestParam(value="tags") String[] tags) {
    return "hello";
}

如果我們不發送數組,示例正在工作。 當我試圖發送數組時,它給出了400 Bad Request錯誤。

如果我使用鏈接訪問相同的控制器,它的工作正常,但它不能與jquery ajax一起使用。 我錯過了什么嗎?

你期待@RequestParamPOST / GET參數),但發送JSON作為請求體。 你需要使用@RequestBody

嘗試

public String saveDiscussion(@RequestBody Map json) {
    return "hello";
}

也可以看看:

暫無
暫無

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

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