在我的MVC应用程序中,我有一个家庭控制器和一个索引方法。我已将索引方法设置为RouteConfig文件中的默认路由。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
我在我的应用程序中使用Angular JS。我已经使用$ http。
定义了一个服务并在家庭控制器中调用了一个动作“Clusters”app.service('homeService', function ($http) {
this.getClusters = function () {
var promise = $http.get("Clusters");
return promise;
};
});
当我运行项目并转到默认网址[http://localhost:56698/],然后http://localhost:56698/Clusters 404未找到异常时发生。但如果网址为http://localhost:56698/Home/Index,则有效。所以我的Angular js服务不能在默认URL中工作。如何解决这个问题?
答案 0 :(得分:1)
我认为您的javascript参考存在问题。 你应该使用这样的相对引用:
<script src="@Url.Content("~/Scripts/angular.js")" type="text/javascript"></script>
或者您应该更改您的群集调用:(我假设您的javascript代码位于您的视图中)
this.getClusters = function () {
var promise = $http.get('@Url.action(Clusters,Your controller name)');
return promise;
};