我下面有这段代码,应将用户重定向到发送证书页面。
但是我不明白为什么,如果用户单击“发送证书”链接时,代码仅如下所示(未经验证),则会重定向到发送证书页面“ 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']);
答案 0 :(得分:1)
该错误消息表示您有一个递归循环。可能会在渲染视图时再次调用send()函数吗?
答案 1 :(得分:0)
几天前我看到了这样的错误消息。不是以开发人员身份,而是以用户身份。我需要清除Cookie,然后刷新导致此错误的页面。此问题得以解决。我希望这能给您一个解决问题的思路。