1

我正在尝试传递两个参数,其中一个是电子邮件地址。

路线(也尝试过(:any)

Route::any(
    'user/confirm_request/(:any?)/(:any?)', array(
                                             'uses' => 'user@confirm_request'));

控制器(也尝试过post_confirm_request()

public function get_confirm_request($email, $term)
{ 
  //do stuff
}

最终,我要做的就是点击该路线并使用这两个参数向用户发送电子邮件。但我不断收到 404 错误。电子邮件被编码,路由如下所示:

/email%40gmail.com/someString

我能够取出 %40 并且它工作得很好(只是给了我发送邮件的错误)。为什么 %40 会抛出 404 错误?会不会是 Laravel 的东西?

4

1 回答 1

0

一种解决方案是将电子邮件作为 url 参数传递。

首先,从路由中删除第二个参数。(如果需要,您也可以同时删除两者。)

  Route::any('user/confirm_request/(:any?)', array('uses' => 'user@confirm_request'));

然后将电子邮件附加到操作 url,如下所示..

  $url = URL::base() . '/user/confirm_request?email=' . $email;

然后在您的控制器中,您可以获取该数据。

  public function get_confirm_request()
  { 
    $email = Input::get('email');
  }
于 2013-02-20T04:47:25.930 回答