我想我想要的是非常基本的,我只是找不到合适的语法,因为我还在学习Laravel。
所以,我正在使用谷歌验证登录在我的网站上。这需要向后端发送一个post请求,这个请求必须被处理,我已经将这个逻辑放在控制器中。我的routes.php:
Route::post('google' , [
'as' => 'verify.index',
'uses' => 'verify@verifyIdToken'
]);
我的控制器(verify.php):
<?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
的参数
就像这样:
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} );
发布于 2016-01-17 16:45:32
你在找拉勒维尔的request
类。您应该在方法上键入提示类,然后允许大量选项实际获取数据。类似于:
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)]);
}
关于它的文件拥有更多有用的信息。
发布于 2016-01-17 16:45:05
控制器方法:
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');
}
}
路由:
Route::post('google', ['as' => 'some.alias', 'uses' => 'SomeController@verifyIdToken']);
https://stackoverflow.com/questions/34840654
复制相似问题