微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用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.jb51.cc/jquery/176181.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐