用户访问“发送证书”页面时,为什么会出现错误ERR_TOO_MANY_REDIRECTS?

时间:2018-07-11 18:59:31

标签: php laravel

我下面有这段代码,应将用户重定向到发送证书页面。

但是我不明白为什么,如果用户单击“发送证书”链接时,代码仅如下所示(未经验证),则会重定向到发送证书页面“ https://proj.test/conference/1/certificates/send”,因此它可以正常工作:

public function send($id, Request $request){

        $conference = Conference::with('registrationTypes.certificate')->find($id);

        $this->validate($request, $rules, $customMessages);
        return view('certificates.send')->with('conference', $conference);
    }

但是,如果像下面这样(带有验证),则会将用户重定向到“发送证书”页面,但显示的页面带有:

Page is not working
proj.test redirected to many times

ERR_TOO_MANY_REDIRECTS

有时,用户不会重定向到出现此错误的页面,而是将用户重定向到“ https://proj.test/conference/1/certificates/create”而不是“ https://proj.test/conference/1/certificates/send”。

带有验证的相同代码:

public function send($id, Request $request){

        $conference = Conference::with('registrationTypes.certificate')->find($id);

        $rules = [
            'send_to' => 'required',
            'subject' => 'required',
        ];

        $customMessages = [
            'send_to.required' => 'send_to is required.',
            'subject.required' => 'subject is required.'
        ];
        $this->validate($request, $rules, $customMessages);
        return view('certificates.send')->with('conference', $conference);
    }

您知道可能是什么错误吗?

路线:

Route::get('conference/{id}/certificates/create',
    [ 'uses' => 'CertificateController@create', 'as'=>'certificates.create']);

Route::get('conference/{id}/certificates/send',
    [ 'uses' => 'CertificateController@send', 'as'=>'certificates.send']);


Route::post('conference/{id}/certificates/update',
    [ 'uses' => 'CertificateController@update', 'as'=>'certificates.update']);

2 个答案:

答案 0 :(得分:1)

该错误消息表示您有一个递归循环。可能会在渲染视图时再次调用send()函数吗?

答案 1 :(得分:0)

几天前我看到了这样的错误消息。不是以开发人员身份,而是以用户身份。我需要清除Cookie,然后刷新导致此错误的页面。此问题得以解决。我希望这能给您一个解决问题的思路。