這篇文章主要介紹了AngularJS取得json資料的方法,結合實例形式詳細分析了AngularJS取得json資料的詳細步驟、操作技巧與相關注意事項,需要的朋友可以參考下
本文實例講述了AngularJS獲取json資料的方法。分享給大家供大家參考,具體如下:
學習了這麼多天的AngularJS,今天想從實戰的角度和大家分享一個簡單的Demo--用戶查詢系統,以鞏固前所學。功能需求需要滿足兩點 1.查詢所有用戶信息,並在前端展示 2.根據id查詢用戶信息,展示在前端。 Ok,需求很簡單,那麼我們就開始實現所提的功能需求。
程式碼框架
# 前端的程式碼通常包含三個部分:html, css, 和JavaScript,我們使用html來寫視圖文件,css來進行視圖樣式控制,JS來實作控制器程式碼。本文的重點在於AngularJS的回顧學習,使用簡單的html視圖即可,不會涉及很炫的CSS程式碼編寫。本範例的程式碼的檔案目錄結構很簡單,如下圖所示,分為簡單的兩層目錄,UserMgt為整個Demo的包名,JS目錄用於儲存第三方js程式碼如angular. js,controller用於儲存我們的控制器程式碼,tml目錄儲存html前端文件, conf中用於儲存設定檔。
----------UserMgt
-------------JS
-------------controller
-------------tml
-------------conf
Code
#本例我們引入angular.js和angular-route.js v1.2.20文件,放在我們的JS目錄下。 angularJS本身提供的route使用不夠方便,我們使用第三方的angular-route框架進行路由分配。首先我們需要編寫我們前端的顯示介面。
1. index.html,程式碼如下所示
<!DOCTYPE html> <!--定义AngularJS app--> <html ng-app="UserMgt"> <head> <meta charset="utf-8"/> <title>user mgt demo </title> </head> <body> <h1>用户管理Demo</h1> <!--使用ng-show,表明我们使用路由控制来管理页面之间的跳转 --> <p ng-view> loading... </p><!--视图模板容器--> <!--引入ng-app所需的js文件--> <script type="text/javascript" src="../js/angular.js"></script> <script type="text/javascript" src="../js/angular-route.js"></script> <script type="text/javascript" src="../js/controller/mgt_controller.js"></script> </body> </html>
2.detail.html, 用於顯示一則使用者的資料訊息,程式碼如下所示
<table border="1"> <tr> <td>用户名</td> <!--使用ng-model绑定item对象的username属性--> <td><input type="text" ng-model="item.username"/></td> </tr> <tr> <td>男</td> <!--使用ng-model绑定item对象的gender属性--> <td><input type="text" ng-model="item.gender"/></td> </tr> <tr>` <td>邮箱</td> <!--使用ng-model绑定item对象的email属性--> <td><input type="text" ng-model="item.email"/></td> </tr> <tr> </tr> </table>
3 . list.html用於顯示所有數據,code很簡單如下所示
<table border="1"> <tr> <!--设置表头--> <td>用户名</td> <td>性别</td> <td>邮箱</td> </tr> <!--使用ng-repeat,遍历所有的user--> <tr ng-repeat="user in users"> <td>{{user.username}}</td> <td>{{user.gender}}</td> <td>{{user.email}}</td> </tr> </table>
4. mgt_controller.js
<!--定义UserMgt Ajs模块,模块依赖ngRoute--> var umService = angular.module('UserMgt', ['ngRoute']); <!--路由定义--> umService.config( function ($routeProvider) { $routeProvider <!--项目打开默认调到list.html页面,绑定ListController进行相应的控制--> .when('/', { controller: ListController, templateUrl: '../tml/list.html' }) <!--定义访问url--> .when('/get/:id', { <!--定义绑定的控制器--> controller: GetController, <!--定义跳转的页面--> templateUrl: "../tml/detail.html" }) .otherwise({ <!--其他情况,指定url跳转--> redirectTo: '/' }); } ) <!--ListController定义--> function ListController($scope, $http) { <!--获取本地json资源文件--> $http.get('../conf/user.json').success(function (data) { <!--浏览器console端口打印读取的数据--> console.log(data); $scope.users = data; }); } <!--GetController控制器定义--> function GetController($scope, $http, $routeParams) { var id = $routeParams.id; <!--获取本地json资源文件--> $http.get('../conf/user.json').success(function (data) { console.log(data); $scope.item = data[id]; }); }
5. user.json中json中存儲如下的資料:
[ { "id": 1, "username": "situ", "gender": "男", "email": "gao_st@126.com" }, { "id": 2, "username": "wb", "gender": "女", "email": "wb@126.com" }, { "id": 3, "username": "lml", "gender": "男", "email": "lml@126.com" }, { "id": 4, "username": "wjd", "gender": "女", "email": "wjd@126.com" }, { "id": 5, "username": "lyl", "gender": "男", "email": "lyl@126.com" }, { "id": 6, "username": "wjh", "gender": "女", "email": "wjh@126.com" } ]
Result
#1. 展示所有使用者資訊
2. 取得某一用戶資訊
以上是如何使用AngularJS取得json資料的方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!