jQuery ajax请求不正确的url

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:

我正在尝试通过jquery发送ajax请求。除了url,一切都可以。它应该是,但它是当前页面的url。另外,当我调试应用程序时,我可以看到该请求以“/login”值转到控制器方法。我不知道为什么。这是ajax方法的代码:

$("#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”

因为当您不设置
类型时
。默认情况下,it
submit
您应该首先使用
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

    ....
});

为什么您认为它是
?它是一个按钮,但在设置类型后不起作用。为什么您认为它是
?它是一个按钮,但在设置类型后不起作用。添加必要的标记。没有它,答案只会是猜测。这个应用程序是否有安全性,强制所有未经授权的请求进入登录页面,因此呼叫注册可能会因此而强制登录?是的,你是对的。它正在将此链接重定向到登录页面。我忘了安全:)非常感谢!!添加必要的标记。没有它,答案只会是猜测。这个应用程序是否有安全性,强制所有未经授权的请求进入登录页面,因此呼叫注册可能会因此而强制登录?是的,你是对的。它正在将此链接重定向到登录页面。我忘了安全:)非常感谢!!这就是答案