JSON数据到$ scope

时间:2014-09-18 14:46:32

标签: php json angularjs scope

我正在写一个简单的小脚本,它加载JSON文件并由AngularJS打印成HTML。这是我的JS代码:

function getQueryParams(qs) {
    qs = qs.split("+").join(" ");
    var params = {},
        tokens,
        re = /[?&]?([^=]+)=([^&]*)/g;

    while (tokens = re.exec(qs)) {
        params[decodeURIComponent(tokens[1])]
            = decodeURIComponent(tokens[2]);
    }

    return params;
}

var $_GET = getQueryParams(document.location.search);
var APP = angular.module('APP', []);
var restaruantId;

APP.ApplicationCtrl = function ($scope) {
    if ($_GET['id'] !== undefined && $_GET['id'] !== null) {
        restaruantId = $_GET['id'];
        jQuery.get( "inc/getData.php", { id: restaruantId} )
            .done(function( data ) {
                // $scope.restaurant = data;
                $scope.restaurant = angular.fromJson(data);
                console.log($scope);
        });
    } else {
        alert("ERROR");
    }

    $scope.name = 'World';
};

getData.php从Graph API加载JSON文件,它可以工作。 $ scope.restaurant是一个对象,它包含所有数据。这是我的HTML文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>AngularJS Test</title>

    <script src="js/jquery-1.10.2.min.js"></script>
    <script src="angular.min.js"></script>
    <script src="script.js"></script>
</head>
<body>
    <div ng-app="APP" ng-controller="APP.ApplicationCtrl">
        <h1>{{ restaurant.name }}</h1>
    </div>
</body>
</html>

不幸的是,restaurant.name不起作用,它是空的。你能告诉我为什么吗?

0 个答案:

没有答案