我正在使用ASP.NET MVC5开发Web应用程序。该应用程序在整个站点中使用全局脚本来检索用户数据。
点击,ajax调用返回到url,例如为了Area1/Controller/Action
,它接收用户数据。这在网站的根目录中工作正常。一旦你开始在区域工作,它将返回404。
如果我开始查看Area1
,请求网址将变为Area1/Controller/Area1/Controller/Action
我真的不想在javascript中为ajax调用添加完整的http://
网址。还有哪些其他选项可以确保找到正确的URL?
答案 0 :(得分:2)
你有没有尝试过:
url: '@Url.Action("Action", "Controller", new { area = "Area1" } )',
答案 1 :(得分:1)
我最终将域添加到我的帮助器类中,该类在我的应用程序中是全局的。然后我可以在需要时调用它。
var Helpers = {
Domain:'http://' + location.hostname + ':' + location.port
};
现在当我跨区域进行ajax调用时,我可以调用Domain
var options = {
type: 'POST',
url: Helpers.Domain + '/Area1/Controller/Action',
data: JSON.stringify({'username': user }),
success: function (events) {
...
},
error: function (jqXHR, textStatus, errorThrown) {
...
}
};
$.ajax(options);