我想传递url参数$ id是动态值到Angularjs控制器
我的Angularjs:
$http.get('/todos/show/'+$id).success(function(data) {
$scope.customers = data;
});
我在laravel的路线
Route::get('todos/show/{id?}', function($id = null)
{
$users = DB::table('customers')->where('id', $id)->get();
return json_encode($users);
});
有人可以帮助我。
答案 0 :(得分:0)
===也许我错了。最后请看正确的答案。===
首先,您需要设置您的routerProvider:https://www.w3schools.com/angular/angular_routing.asp
之后,你可以设置这样的路线:
app.config(function($routeProvider) {
$routeProvider.when("/todos/show/:id", {
//your content here like example of w3schools
})
});
或者
app.config(function($routeProvider) {
$routeProvider.when("/todos/show/:id?", {
//your content here like example of w3schools
})
});
如果id是可选字段。
现在,您需要将$ routeParams传递给您的控制器,并且您可以获取路径数据:
var myApp = angular.module('myApp',[]);
myApp.controller('Controller', ['$scope', '$routeParams', function($scope, $routeParams) {
console.log($routeParams.id)
}]);
===正确答案===
使用帖子! 角:
$http.post('/todos/show', {id: $id}).success(function(data) {
$scope.customers = data;
});
Laravel:
Route::post('todos/show', function(Request $request)
{
$users = DB::table('customers')->where('id', $request->input('id'/*, 'optional default value'*/))->get();
return json_encode($users);
});