2011-05-30 80 views
1

当我使用jQuery功能后在我的js文件,像这样:jQuery的ajax的URL发布asp.net mvc的项目时,在IIS

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

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

+1

可能重复:http://stackoverflow.com/q/376644/497356 – 2011-05-30 02:18:02

回答

1

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

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

相反,你应该使用的网址助手:

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