在iis上发布asp.net mvc项目时,Jquery ajax url

时间:2011-05-30 02:15:03

标签: asp.net-mvc ajax url

当我在js文件中使用jQuery post函数时,如下所示:

$.post("/map/GetWindowedMapInfo", { 
    width: windowWidth * 2, 
    height: windowHeight * 2, 
    xCoord: winXCoord, 
    yCoord: winYCoord }, function (data) {...});

它在vs2010开发人员服务器上运行良好,但在IIS上发布ASP.NET MVC项目时失败,关联的控制器功能不再运行,因为url错误。 我必须使用'<%= Url.Content("~/map/GetWindowedMapInfo") %>'来替换旧的URL,但这只能在.aspx或.ascx文件中使用。你知道在js文件中制作一个可用url的方法,而不是使用<%=Url.Content(...) %>函数,因为我不想把我的js文件放在aspx页面中。

1 个答案:

答案 0 :(得分:1)

你不应该硬编码这样的网址:

$.post("/map/GetWindowedMapInfo", { 
    ...    
});

相反,您应该使用URL帮助程序:

$.post("@Url.Action("GetWindowedMapInfo", "map")", { 
    ...    
});