将动态URL值传递给角度js控制器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将动态URL值传递给角度js控制器相关的知识,希望对你有一定的参考价值。

我想传递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);
});

有人可以帮助我这些。

答案

===也许我弄错了。最后看到正确的答案。===

首先,您需要设置您的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);
});

以上是关于将动态URL值传递给角度js控制器的主要内容,如果未能解决你的问题,请参考以下文章

将本地节点 JS HTTP 服务器端口(在电子中运行)传递给角度服务

将某个值动态传递给 Vue.js 中的计算函数

如何使用 vue.js 将多个带有键的值传递给 url

如何将动态值传递给 TwiML

如何将动态数量的输入值传递给 Symfony2.1 中的控制器

如何将活动值传递给片段[重复]