如何使用angularjs在html页面上显示json数据?

时间:2014-07-03 11:16:07

标签: javascript json angularjs

我正在尝试创建一个小角度,它接受一个json文件并在html页面上显示数据。但是我收到以下错误:POST书签/ data / bookmarks.json 405(方法不允许)。

这是我的代码:

<html lang="en" ng-app="bookmarksApp" id="ng-app">
    <head>
        <link rel="stylesheet" href="css/styles.css" />
    </head>
    <body ng-controller="BookmarkController as bookmarksCtrl">
        <article class="main-content" role="main">
            <section class="row">
                <div class="content">
                    <div class="bookmarks-list">
                        <h1>Christine's Bookmarks</h1>
                        <ul>
                            <li ng-repeat="bookmark in bookmarksCtrl.bookmarks" class="">
                                <h3>{{bookmark.name}}</h3>
                                <a href="{{bookmark.url}}">{{bookmark.url}}</a>
                            </li>
                        </ul>
                    </div>
                </div>
            </section>
        </article>
        <script type="text/javascript" src="scripts/angular.min.js"></script>
        <script type="text/javascript" src="scripts/main.js"></script>
    </body>
</html>

和我的角度代码:

(function() {

    var app = angular.module('bookmarksApp', []);   

    app.controller('BookmarkController', function($scope, $http) {

        $http({ method: 'POST', url: 'data/bookmarks.json' }).success(function (data) {
            console.log('hello');
            $scope.bookmarks = data; // response data 
        }).
        error(function (data) {
            console.log(data);
        });
    });

})();

我出错的任何想法?感谢。

2 个答案:

答案 0 :(得分:2)

尝试将POST更改为GET

还要解决ng-repeat

中的问题

使用

<li ng-repeat="bookmark in bookmarks" class="">

的地方
<li ng-repeat="bookmark in bookmarksCtrl.bookmarks" class="">

答案 1 :(得分:0)

如果不允许POST请尝试GET,如果您必须使用POST,则需要更改后端以允许发布请求

$http({ method: 'POST', url: 'data/bookmarks.json' }).success(function (data) {