jQuery ajax请求不正确的url
我正在尝试通过jquery发送ajax请求。除了url,一切都可以。它应该是,但它是当前页面的url。另外,当我调试应用程序时,我可以看到该请求以“/login”值转到控制器方法。我不知道为什么。这是ajax方法的代码:jQuery ajax请求不正确的url,jquery,ajax,spring-mvc,Jquery,Ajax,Spring Mvc,我正在尝试通过jquery发送ajax请求。除了url,一切都可以。它应该是,但它是当前页面的url。另外,当我调试应用程序时,我可以看到该请求以“/login”值转到控制器方法。我不知道为什么。这是ajax方法的代码: $("#my-signin2").on("click", function(){ $.ajax({ url: 'http://localhost:8080/register', type: 'post', success:
$("#my-signin2").on("click", function(){
$.ajax({
url: 'http://localhost:8080/register',
type: 'post',
success: function (data) {
console.info(data);
}
});
});
还有一些控制器方法:
@RequestMapping(value = "/login")
public String login(){
return Links.LOGIN.getUrl();
}
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String register(){
return Links.HOME.getUrl();
}
我还使用了spring security及其处理csrf令牌的代码:
var csrfHeader = $("meta[name='_csrf_header']").attr("content");
var csrfToken = $("meta[name='_csrf']").attr("content");
$(document).ajaxSend(function(e, xhr, options) {
xhr.setRequestHeader(csrfHeader, csrfToken);
});
我从serwer得到了正确的答案,但是从登录方法得到的
更新:
Spring security将所有未经授权的请求重定向到登录页面,所以请求是确定的。谢谢你的帮助 我的签名2必须具有属性type=“button”
因为当您不设置类型时
。默认情况下,它必须具有属性type=“button”
因为当您不设置
类型时
。默认情况下,itsubmit
您应该首先使用e.preventDefault()
阻止默认操作,然后您可以发送自定义ajax请求,如:
$("#my-signin2").on("click", function(e){
e.preventDefault(); //Prevent the page from refreshing
....
});
您应该首先使用
e.preventDefault()
阻止默认操作,然后可以发送自定义ajax请求,如:
$("#my-signin2").on("click", function(e){
e.preventDefault(); //Prevent the page from refreshing
....
});
为什么您认为它是
?它是一个按钮,但在设置类型后不起作用。为什么您认为它是
?它是一个按钮,但在设置类型后不起作用。添加必要的标记。没有它,答案只会是猜测。这个应用程序是否有安全性,强制所有未经授权的请求进入登录页面,因此呼叫注册可能会因此而强制登录?是的,你是对的。它正在将此链接重定向到登录页面。我忘了安全:)非常感谢!!添加必要的标记。没有它,答案只会是猜测。这个应用程序是否有安全性,强制所有未经授权的请求进入登录页面,因此呼叫注册可能会因此而强制登录?是的,你是对的。它正在将此链接重定向到登录页面。我忘了安全:)非常感谢!!这就是答案