为什么我收到此错误? SyntaxError:missing;在声明之前

时间:2015-04-13 20:57:11

标签: angularjs

为什么我收到以下错误:

SyntaxError: missing ; before statement
"Application": "abc",

这是我收到错误的页面: http://hoteldemo.t15.org/#/

我看不出我的代码有什么问题。返回JSON数据并显示在页面上,这样一切正常 - 只需要摆脱错误。

    .config(["$routeProvider", function($routeProvider) {
        $routeProvider
            .when("/", {
                templateUrl: "js/main.html",
                controller: "configCtrl",
                controllerAs: "controller",
                resolve: {
                    myData: ["httpDataLoader", function(httpDataLoader){
                        return httpDataLoader.load();
                    }]
                }
            })
    }])

    .controller('configCtrl', ['$scope', 'myData', function($scope, myData){
     this.data = myData.data;
     console.log(myData.data)
     //  this.config = myData.data;
     //  console.log(this.config)
    }])

    .service("httpDataLoader", ["$http", function($http) {
      this.load = function() {
        return $http({url: "js/config.json"});
      }
    }])

2 个答案:

答案 0 :(得分:2)

尝试更改此内容:

<script src="js/config.json"></script>

对此:

<script src="js/config.json" type="application/json"></script>

答案 1 :(得分:0)

你得到这个错误,因为你在视图中有这个:

<script src="js/config.json"></script>

Src属性指定外部java脚本文件的URL而不是JSON文件。 在您的json文件中,您有以下内容:

{
    "Application": "abc",
    "Key": "12345",
    "SharedSecret": "54321"
}

JSON对象不是有效的JavaScript。我不知道你想要获得什么,但我认为你有两个选择:
1.使用你的json文件以文字符号存储js对象 2.使用ajax删除脚本标记并加载文件。