我尝试使用api和ajax $ http方法连接后端laravel和前端angularjs。 api已连接,但无法以ng-repeat方法查看数据。我不知道出了什么问题,希望任何人都可以帮忙解决这个问题。预先感谢。
Hello.php
gem install tk -- --with-tcltkversion=8.6 \
--with-tcl-lib=/usr/lib/x86_64-linux-gnu \
--with-tk-lib=/usr/lib/x86_64-linux-gnu \
--with-tcl-include=/usr/include/tcl8.6 \
--with-tk-include=/usr/include/tcl8.6 \
--enable-pthread
api.php
<!DOCTYPE html>
<html>
<head>
<title>Laravel + Angularjs</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="Todoctrl">
<li ng-repeat="x in todos">
{{ x.name }}
</li>
</div>
<script>
var app = angular.module('myApp',[])
.controller('Todoctrl',['$scope','$http',function($scope,$http){
var onStatsComplete = function(response){
$scope.todos = response.data;
}
$http.get("api/todos").then(onStatsComplete);
}
]);
</script>
</body>
</html>
HomeController.php
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('/todos','HomeController@todos');
答案 0 :(得分:1)
您是否检查了response.data
包含的内容?典型的使用资源集合的Laravel api响应会将数组放在其自己的数据键下,这使response.data.data
成为在这种情况下从JS访问值所需的最终键。