您好可以使用ajax重定向到另一个页面吗?我有这段代码,我一直在努力尝试这个。
<script type="text/javascript">
$(document.body).on('click', '#btnPrintPrev', function() {
$.ajax({
url: '/pdfdatacal',
data: {
dummydata: "This is a dummy data"
},
});
});
</script>
现在它应该能够将数据传送到另一个页面并重定向到那里。问题是它没有。
这就是我在路线中使用的
Route::get('/pdfdatacal', 'GenerateReportController@pdfdatacal');
然后在控制器中
public function pdfdatacal(Request $request) {
return $request->data['dummydata'];
}
我的预期结果应该是包含dummydata
值的空白页面,但在我的代码中不会这样做。我该如何做到这一点?
答案 0 :(得分:0)
使用
window.location.href = "http://yourwebsite.com/pdfdatacal";
在你的成功电话中
我们的想法是,您将数据发送到控制器,它会发回一个响应,然后您从javascript重定向到您想要的位置。
$.ajax({
url: '/pdfdatacal',
type : 'GET',
data : {
dummydata: "This is a dummy data"
},
success : function(data) {
window.location.href = "http://yourwebsite.com/pdfdatacal";
}
});
但是如果您的控制器对您发送的数据不执行任何操作,那么您根本不需要使用ajax,使用javascript进行简单的重定向。
答案 1 :(得分:0)
您可以在成功中使用window.location.assign('your URL here!');
。
success : function(data) {
window.location.assign('your URL here!');
}
答案 2 :(得分:0)
首先你的ajax必须是
$.ajax({
url: '/pdfdatacal',
method: 'post',
data: { dummydata: "This is a dummy data" },
dataType: "JSON",
success: function(response){
console.log(response); // just to check if the data is being passed
// do something you want if ever .
}
});
然后在你的路线
Route::post('/pdfdatacal', 'GenerateReportController@pdfdatacal');
控制器中的
public function pdfdatacal(Request $request) {
return response()->json($request->dummydata);
}
希望它有所帮助..