【问题标题】:Angular js and Laravel http get paramsAngular js 和 Laravel http 获取参数
【发布时间】:2013-02-07 23:11:03
【问题描述】:

我对 angularjs 完全陌生,我正在练习。

我有点卡在下面,我有一个加载用户详细信息的个人资料页面,我真的不知道如何显示它,问题是我卡在逻辑上。

我为它创建了 2 条路线

Route::get('/(:any)', array('as' => 'profile', 'uses' => 'user@profile'));
Route::get('/details/(:any)', array('as' => 'profile', 'uses' => 'user@details'));

所以网址实际上是这样的:http://mysite.com/username

所以我的逻辑是这样的,这条路线

 Route::get('/(:any)', array('as' => 'profile', 'uses' => 'user@profile'));

返回个人资料视图

这个路由会在 json 中获取用户数据

Route::get('/details/(:any)', array('as' => 'profile', 'uses' => 'user@details'));

我坚持的是这个

我加载视图,http://mysite.com/username 我得到了个人资料页面,

Laravel 视图加载

public function get_profile($username = '')
    {
       return View::make('user.profile');
    }

加载 json

 public function get_details($username = '')
    {
        $users = User::where_username($username)->get();

        return  Response::eloquent($users);
    }    

angularjs 控制器

function profileCtrl($scope, $http) {
    //here get the url first segment somehow
    // and pass it to the get
    // example
    // urlSegment = username
    $http('details/' + username ).success(function(data){
        $scope.users = data;
        console.debug(data);
    });

}

所以我的问题是,我这样做好吗,或者我完全没有走上正轨。 有人可以给我看一个例子吗?

谢谢

编辑

更具体地说,我正在尝试使用 angularjs 和 laravel 创建一个宁静的 api,但我有点坚持。我不明白的是路由逻辑。

例子。

mysite.com/username,我需要构建什么类型的路由逻辑来获取数据? 因为我在上面解释过,所以我为它创建了 2 条路线,我认为这不太好。

【问题讨论】:

  • 不清楚您的问题是角度问题还是后端问题。

标签: http routing angularjs laravel


【解决方案1】:

我正在尝试使用 angularjs 和 laravel 创建一个宁静的 api,但我有点坚持。我不明白的是路由逻辑。

Laravel 提供了许多方便的方法来创建一个 Restful API。需要注意的是,Laravel 是“restful api”,而 AngularJS 是客户端,它将使用 API 来显示结果(即作为用户前端)。

Laravel 4 refers to 'Resource Controllers' to help you build a restful API。使用这张图,你可以看到控制器应该如何布局,以及每个命令具体需要做什么:

只需将“照片”替换为“用户”,这就是控制器的布局方式。如果你使用 Laravel 4,你可以使用 Artisan 生成一个资源丰富的控制器:

php artisan controller:make UserController

它会添加上面准备好的每个功能。

Laravel 3 refers to 'Restful Controllers' - 但原理是一样的。

如果您有兴趣 - Nettuts has a great free tutorial on creating a Restful API with Laravel 4 from scratch。如果您遵循本教程 - 您将为您的用户类提供完整的 restful API。它比这个答案更详细。

对于 Laravel 4,您的路线将只是一行代码:

Route::resource('user', UserController);

然后您将运行以下工匠命令

php artisan controller:make UserController
php composer.phar dump-autoload

然后你的用户控制器就准备好了,所有的功能都搭建好了,你需要做的就是把一些基本的逻辑放进去。

编辑:I just found another tutorial that explains Laravel 4 resource controllers a bit further.

【讨论】:

  • 从数据库中获取用户名所在的用户信息并将其传递给视图
  • @Side 我改进了我的答案 - 这有帮助吗?
  • 感谢您的回复,但是不,我知道什么是restful,我知道它是如何工作的,我不知道如何将laravel 路由与http get 同步,我真的不明白那个逻辑正如我在问题中所说,
  • 你试过我链接的教程了吗?我在答案中添加了更多信息。如果这没有帮助 - 您需要进一步扩展您的问题。
  • 我试图在这里更好地解释它stackoverflow.com/questions/15174124/…
【解决方案2】:

Angular 是一个仅在浏览器中运行的客户端框架。所以你根本无法用它创建一个宁静的 API。一个restful API总是只在服务器上运行,所以Laravel should work for that

Angular 的使用方式是客户端从运行在服务器上的 restful API(使用$http module)请求 JSON 格式的内容,然后在客户端构建 HTML。见what-is-the-point-of-angularjs-routes? 我也强烈推荐official tutorial

【讨论】:

    猜你喜欢
    • 2019-08-05
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2015-11-01
    • 2019-04-27
    • 1970-01-01
    • 2019-02-09
    • 1970-01-01
    相关资源
    最近更新 更多