使用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);
    });
});

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...