angularjs控制器无法读取json文件

时间:2016-01-06 19:20:49

标签: angularjs json

在下面的代码中,

/* app.js*/
var app = angular.module('Sample', []);
/* Controller.js*/
app.controller('Controller', function($scope, $http){
    $http.get('result.json').
            then(function(data) {$scope.tabular_data = data;} , function(data) {console.log("My error: " + data)} );


});
[{
    "name": "Brokerage Account 3",
    "marketValue": "1999990",
    "cash": "1995826",
    "legend": "orange"
}, {
    "name": "Account 3",
    "marketValue": "1949990",
    "cash": "1695856",
    "legend": "darkorange"
}]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Sample app</title>

    <link rel="stylesheet" href="app_style.css">

    <!-- Libs -->
    <script src="angular.js"></script>

    <!-- Application -->
    <script src="app.js"></script>
    <script src="Controller.js"></script>
</head>
<body ng-app="Sample">
   .....
    <!-- Content -->
    <div id="content" ng-controller="Controller"></div>
</body>

控制器代码无法读取json文件。

在线工具验证json文件是否为有效文件

开发工具控制台不会显示任何错误。

如何解决此错误?

2 个答案:

答案 0 :(得分:0)

我猜你的json存在问题。尝试不结束逗号,

[{
    "name": "Name1",
    "Value": "1000"
}, {
    "name": "Name2",
    "Value": "1949990"

}]

每当使用JSON时总是在http://jsonlint.com/

验证它们

Demo Plunkr

答案 1 :(得分:0)

看来你最后错过了一个结束括号。试试这个:

app.controller('Controller', function($scope, $http) {
        $http.get('result.json')
        .then(
            function(data) {
                //$scope.tabular_data = data;
                console.log("Success!");
            },
            function(data) {
                console.log("My error: " + data)
            }
        );
});