Ajax / Spring MVC handleHttpRequestRequestNotSupported

时间:2019-01-23 15:05:07

标签: ajax spring-mvc post

我有一个按钮,它对服务器执行POST请求,但是不起作用。

我的应用程序禁用了csfr,我还有其他使用$ .post()的按钮,它可以正常工作。在讨论的功能中,它永远不会到达服务器端。

这是按钮:

<button onclick="honor('gold', '${loggedUser.username}')" style="margin-right: 2%;"
                class="btn btn-info pull-right">
                <span style="padding: 2em 4em;">NEXT</span>
            </button>

这是荣誉功能:

function honor(type, username) {
var message = $("#message").val();
var name = $("#honor-box").attr("name");
var id = name.substring(1);
$.ajax({
    type : "POST",
    url : "http://(emitted)/honor?type=" + type + "&id="
            + id + "&name=" + username,
    data : message,
    dataType : "json"
});
}

服务器端函数头:

@RequestMapping(value = "/honor", method = RequestMethod.POST)
public void giveHonor(Principal principal, Model model, @RequestParam(name = "type") String type,
        @RequestParam(name = "id") String id, @RequestParam(name = "name") String name,
        @RequestParam("json") String message)

当我删除数据时,它会起作用:从honor()中删除消息,并从GiveHonor()中删除@RequestParam(“ json”)字符串消息,因此问题始终存在。

我需要honor()函数将信息发送到服务器端的GiveHonor()。

1 个答案:

答案 0 :(得分:0)

您收到了作为参数的消息。从ajax将其作为参数传递。

$.ajax({
    type : "POST",
    url : "http://(emitted)/honor?type=" + type + "&id="
            + id + "&name=" + username + "&json="+ message,
});