php重定向到laravel中的另一个页面
我在前端有一个模态视图(来自引导的视图) 单击提交按钮后,用户将进入控制器中的功能:php重定向到laravel中的另一个页面,laravel,Laravel,我在前端有一个模态视图(来自引导的视图) 单击提交按钮后,用户将进入控制器中的功能: Route::post('post_question', array('uses' => 'QuestionController@postQuestion')); 在问题的最后,我想转到另一页 我试过: return Redirect::to('mywebsite/question/1'); return Response::make( '', 302 )->header( 'Location',
Route::post('post_question', array('uses' => 'QuestionController@postQuestion'));
在问题的最后,我想转到另一页
我试过:
return Redirect::to('mywebsite/question/1');
return Response::make( '', 302 )->header( 'Location', 'mywebsite/question/1' );
return Redirect::route('question/'.$question_id)->with("question",Question::find($question_id));
header("Location: mywebsite/question/$question_id");
但似乎没有一个有效
问题是,我可以在XHR中看到请求,但页面没有重定向。
模态是否以某种方式阻止了行为 您可以使用AJAX请求重定向。然而,你会发现结果并不是你所期望的那样 在重定向时,Laravel应将您的响应代码头设置为重定向响应,然后发送重定向页面的内容 你可以做两件事中的一件,这取决于你想如何处理事情
window.location
public function postQuestion()
{
// DO stuff to set your $question
return [
'question' => $question,
'meta' => [
'redirect_url' => url('mywebsite/question/'.$question->id),
'status' => '400',
// Any other meta data you may want to send
],
];
}
然后假设您正在执行一些jqueryajax调用,更改成功回调(我在这里称之为questionSubmitSuccess
):
在我看来,第一种方法更具操作性,因为API端点可由除此单一实现之外的其他方法使用。
此外,与在不重新加载页面的情况下替换整个DOM相比,要管理的故障点和错误状态更少。您可以将按钮放入表单中,当您提交该按钮时,将数据从页面传递到控制器,并从控制器调用另一个页面
像return View::make('users.index,compact('data'));你不能从ajax请求重定向。@itachi darh!你的真命天子。如何在javascript中重定向。。。
questionSubmitSuccess = function (data) {
// Anything you may want to do before redirecting the user
if (data.meta.redirect_url) {
// This redirects the page
window.location = data.meta.redirect_url;
}
}