dev*_*evo 8 laravel angularjs angular-resource laravel-4 angularjs-scope
我有一个RESTful
与应用程序Laravel 4
和Angular JS
.
在我的Laravel控制器中,
public function index() {
$careers = Career::paginate( $limit = 10 );
return Response::json(array(
'status' => 'success',
'message' => 'Careers successfully loaded!',
'careers' => $careers->toArray()),
200
);
}
Run Code Online (Sandbox Code Playgroud)
和角度剧本,
var app = angular.module('myApp', ['ngResource']);
app.factory('Data', function(){
return {
root_path: "<?php echo Request::root(); ?>/"
};
});
app.factory( 'Career', [ '$resource', 'Data', function( $resource, Data ) {
return $resource( Data.root_path + 'api/v1/careers/:id', { id: '@id'});
}]);
function CareerCtrl($scope, $http, Data, Career) {
$scope.init = function () {
$scope.careers = Career.query();
};
}
Run Code Online (Sandbox Code Playgroud)
在这里,我有点糊涂了处理响应数据分配给范围变量,现在我得到空数组[]
在$scope.careers
.还有我如何处理成功和错误以显示一些消息,如下面的正常$http service
,
$scope.init = function () {
Data.showLoading(); // loading progress
$http({method: 'GET', url: Data.root_path + 'api/v1/careers'}).
success(function(data, status, headers, config) {
Data.hideLoading();
$scope.careers = data.careers.data;
}).
error(function(data, status, headers, config) {
if(data.error.hasOwnProperty('message')) {
errorNotification(data.error.message);
} else {
errorNotification();
}
$scope.careers = [];
});
};
Run Code Online (Sandbox Code Playgroud)
使用$ resource在控制台中查看我的请求.
Nit*_*mar 15
试试这个:
app.factory( 'Career', [ '$resource', 'Data', function( $resource, Data ) {
return $resource( Data.root_path + 'api/v1/careers/:id', { id: '@id'}, {
query: {
isArray: false,
method: 'GET'
}
});
}]);
Career.query(function(res) {
$scope.careers = res.careers.data;
}, function(error) {
// Error handler code
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33224 次 |
最近记录: |