Ajax调用错误的方法

时间:2012-05-10 10:52:45

标签: javascript ajax asp.net-mvc

这是我的方法:

function logOff() {
    $.ajax({ url: "Login/LogOff", type: "GET", success: function (data) { window.location.href = "Login/Index"; } })//end of ajax call
}

有了这个,我想要调用LoginController中的动作方法LogOff。然而,所谓的是:http://localhost:6355/Home/Login/LogOff,我得到错误。为什么会这样?

2 个答案:

答案 0 :(得分:1)

您必须在url值的开头添加一个额外的斜杠。这称为相对网址。

function logOff() {
    $.ajax({
        url: "/Login/LogOff", // <-- slash before "Login"
        type: "GET",
        success: function (data) {
            window.location.href = "/Login/Index"; // <-- slash before "Login"
        }
    })
}

另一种选择是使用绝对 URL:

url: "http://localhost:6355/Login/LogOff"

但它不灵活。

答案 1 :(得分:0)

这是我做的:

if (data == "") {
    patharray = window.location.href.split('/');
    data = window.location.protocol + "//" + patharray[2];
}
window.location.href = data;