Angular Js RouteProvider

时间:2015-01-09 12:52:27

标签: javascript angularjs

我在我的角度js中使用$ routeProvider服务但问题是在templateURl上它提供了我错误

来自服务器的

是我收到的错误

无法加载资源:服务器响应状态为500(内部服务器错误) angular.js:11594错误:[$ compile:tpload]无法加载模板:/ Testing / TestCompleted

这是app.js的角度代码

var app = angular.module('app', ['ngRoute']);
app.controller('CreateController', CreateController);
app.config(function ($routeProvider) {
    $routeProvider
    .when('/',
    {
        templateUrl: "/Testing/TestCompleted",
        controller:"AppCtrl"
    })
});
app.controller("AppCtrl",function ($scope) {
    $scope.newmodel = {

    }
});

3 个答案:

答案 0 :(得分:1)

我发现解决方案视图只能由服务器使用路由返回我们只能得到html视图而不是cshtml,因为这是在调用action时提供的。

答案 1 :(得分:0)

网址提供的是ERROR 500.这就是页面代码中出现了问题。请附上您的调试器并转到网址" / Testing / TestCompleted"用浏览器检查有什么问题。

修改

如果网址确实是正确的网址。请尝试以下方法:

angular.module('app', ['ngRoute'])
  .controller("AppCtrl",function ($scope) {
    $scope.newmodel = {}
  })
  .config(function ($routeProvider) {
    $routeProvider
    .when('/',
    {
        templateUrl: "/Testing/TestCompleted",
        controller:"AppCtrl"
    })
});

所以在进行配置之前注册控制器,如Angular(https://docs.angularjs.org/api/ngRoute/service/ $ route)中的示例所示。

答案 2 :(得分:0)

模板的地址可能有误。我从来没有使用像'/ ....这样的格式。 如果目录Testing位于项目的根目录(或者“./Testing/TestCompleted”都应该有效),您可能需要'Testing / TestCompleted'。

编辑:

在任何情况下,您可能都使用html文件作为模板,扩展名为.html。因此,例如使用'Testing / TestCompleted.html'。