3 回答
TA贡献1802条经验 获得超5个赞
我相信您可能已经混淆了异步请求和同步请求,您可以查看这篇文章以了解更多信息。您还应该使用 GET 请求来加载页面(不是 POST)。Post 请求通常用于将表单数据发送到后端,而 GET 请求则用于获取数据(如从 API)或加载页面(除非它是 Web 应用程序)。
您可以按照 Alex Davies 的建议使用 Javascript(而不是 Ajax)进行页面更改。您还可以将 @RequestMapping 更改为@GetMapping ("/eventpage") 以对 Spring 使用更直接的方法。
TA贡献1876条经验 获得超7个赞
您正在使用的 Ajax 请求实际上是向该 url 发布请求,而不是加载网页。如果您想加载网页,window.location.href="/eventpage?eventName=" + eventName
请在您的 JavaScript 中使用。
TA贡献1875条经验 获得超3个赞
根据屏幕截图 (ibb.co/ZSXDBpG),后调用中缺少标头和令牌。
$('.events').on("click", function() {
var token = $("meta[name='_csrf']").attr("content");
var header = $("meta[name='_csrf_header']").attr("content");
var eventName = $(this).val();
$.ajax({
type: 'POST',
url : '/eventpage',
data : {'eventName' : eventName},
beforeSend: function(xhr) {
xhr.setRequestHeader(header, token);
},
success : function(data) {
console.log(data);
}
});
});
更改后,请检查您的控制台。还要检查“预览”和“响应”。希望这可以帮助!!
添加回答
举报