У меня есть кнопка, которая выполняет 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)
Это работает, когда я удаляю data: message из honor () и удаляю @RequestParam ("json") Строковое сообщение от giveHonor (), так что проблема определенно есть.
Мне нужна функция honor () для отправки информации в giveHonor () на стороне сервера.