首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel 5:控制器的后置参数

Laravel 5:控制器的后置参数
EN

Stack Overflow用户
提问于 2016-01-17 16:30:01
回答 2查看 3.9K关注 0票数 1

我想我想要的是非常基本的,我只是找不到合适的语法,因为我还在学习Laravel。

所以,我正在使用谷歌验证登录在我的网站上。这需要向后端发送一个post请求,这个请求必须被处理,我已经将这个逻辑放在控制器中。我的routes.php:

代码语言:javascript
运行
复制
Route::post('google' ,  [
    'as' => 'verify.index',
    'uses' => 'verify@verifyIdToken'
]);

我的控制器(verify.php):

代码语言:javascript
运行
复制
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;

class verify extends Controller
{
    public function verifyIdToken($token)
    {
        $token = $_POST['id'];
        $email = $_POST['email'];
        return $this->getAuth()->verifyIdToken($token);
        echo $this->getAuth()->verifyIdToken($token);
        return view('aviewII')->with(['verify' => json_encode(verifyIdToken($token)),'email'=> json_encode($email)]);
    }
}

当然,由于控制器中的函数是如何编写的,我的问题是:如何告诉控制器中的函数以$_POST['id']作为$token的参数

就像这样:

代码语言:javascript
运行
复制
Route::post('google' ,  [
        'as' => 'verify.index',
        'uses' => 'verify@verifyIdToken ~with $_POST['id'] as $token'
    ]);

作为其他参考,我的实际帖子请求如下所示:

$.post( "http://example.com/google", {email:profile.getEmail(),id:id_token} );

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-17 16:45:32

你在找拉勒维尔的request类。您应该在方法上键入提示类,然后允许大量选项实际获取数据。类似于:

代码语言:javascript
运行
复制
use Illuminate\Http\Request;

public function verifyIdToken(Request $request)
{
    $token = $request->input('id');
    $email = $request->input('email');
    return $this->getAuth()->verifyIdToken($token);
    echo $this->getAuth()->verifyIdToken($token);
    return view('aviewII')->with(['verify' => json_encode(verifyIdToken($token)),'email'=> json_encode($email)]);
}

关于它的文件拥有更多有用的信息。

票数 1
EN

Stack Overflow用户

发布于 2016-01-17 16:45:05

控制器方法:

代码语言:javascript
运行
复制
public function verifyIdToken(Request $request)
{
    // Not necessary but a better practice for ajax 'POST' responses.

    if($request->ajax() &&  $request->isMethod('post'))
    {
        return $request::get('token');
    }
}

路由:

代码语言:javascript
运行
复制
Route::post('google', ['as' => 'some.alias', 'uses' => 'SomeController@verifyIdToken']);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34840654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档