Передача динамического значения URL в угловой контроллер js

Я хочу передать параметр URL $ id является динамическим значением для контроллера Angularjs

Мой Angularjs:

$http.get('/todos/show/'+$id).success(function(data) {
$scope.customers = data;
});

Мой маршрут в Ларавеле

Route::get('todos/show/{id?}', function($id = null)
{
$users = DB::table('customers')->where('id', $id)->get();
return json_encode($users);
});

Может кто-нибудь помочь мне с этим.

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);
});
0

Другие решения

Других решений пока нет …