我正在尝试传递两个参数,其中一个是电子邮件地址。
路线(也尝试(:任何))
Route::any(
'user/confirm_request/(:any?)/(:any?)', array(
'uses' => 'user@confirm_request'));
controller(也尝试了 post_confirm_request())
public function get_confirm_request($email, $term)
{
//do stuff
}
最终,我要做的就是点击该路线并向具有这两个参数的用户发送电子邮件。但我一直收到404错误。电子邮件被编码,路线如下:
/email%40gmail.com/someString
我能够取出%40并且它工作得很好(只是给了我sendmail的错误)。 为什么%40会抛出404错误?它可能是Laravel的东西吗?
答案 0 :(得分:0)
一种解决方案是将电子邮件作为url参数传递。
首先,从路线中删除第二个参数。 (如果需要,你也可以删除它们。)
Route::any('user/confirm_request/(:any?)', array('uses' => 'user@confirm_request'));
然后将电子邮件附加到操作网址,就像这样......
$url = URL::base() . '/user/confirm_request?email=' . $email;
然后在您的控制器中,您可以获取该数据。
public function get_confirm_request()
{
$email = Input::get('email');
}