为什么我收到以下错误:
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"});
}
}])
答案 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删除脚本标记并加载文件。