使用jquery post for mvc 3在部署时不起作用

前端之家收集整理的这篇文章主要介绍了使用jquery post for mvc 3在部署时不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我有这个MVC 3应用程序有一个下拉列表,我用来通过 jquery填充一个div.它在本地工作正常,但是当我将其部署到服务器时,它的重定向不正确.这是我的jquery:
$("#ddlCategoryMain").change(function () {
    $.post("/Home/Category/",{ mileID: $(this).val() },function (data) {
        refreshDiv($("div#main"),data);
    });
});

function refreshDiv(select,data) {
    select.html("");
    select.append(data);
}

本地工作正常.但是当部署到我的服务器时,它似乎正在寻找http://myserver/Home/Category而不是http://myserver/mywebsite/Home/Category

我可以通过在jquery函数中的/ Home / Category之前添加我的应用程序的名称来修复它,但是这不是正确的…

我也尝试在/ Home之前添加../,〜/,../../,但没有区别.

任何解决这个小问题的方法
谢谢!

解决方法

选项1

假设您的jQuery方法在您的视图中,您可以使用Url.Action()

Generates a fully qualified URL to an
action method by using the specified
action name and controller name.

$("#ddlCategoryMain").change(function () {
    $.post('<%=Url.Action("Category","Home")%>',function (data) {
        refreshDiv($("#main"),data);
    });
});

或者如果你使用剃须刀

$("#ddlCategoryMain").change(function () {
    $.post('@Url.Action("Category","Home")',data);
    });
});

选项2

如果该方法在外部js文件中,则可以在视图中声明一个全局变量.

var myUrl = '@Url.Action("Category","Home")';

然后在$.post中

$("#ddlCategoryMain").change(function () {
    $.post(myUrl,data);
    });
});
原文链接:https://www.f2er.com/jquery/176181.html

猜你在找的jQuery相关文章