网页后退后,$request->ajax() 错误的判断为 true,请问如何解决?
控制器代码如下:
public function index()
{
if ($request->ajax()) {
$pageNum = $request->query('page', 1);
$pageSize = 100;
$condition = [];
$data_list = $this->navMenusModel->getDataList($condition, $pageNum, $pageSize);
//返回 json 格式的数据
return show_message(200, '', $data_list);
} else {
return view('admin.menu.list');
}
}
网页请求时加载模板,模板中的数据是通过ajax异步请求的,返回的是 json 数据,模板的搜索表单是用的 form 点击搜索后,URL带上搜索参数重新请求数据。
问题:如果点击了浏览器的后退按钮,控制器的 ajax 判断居然为 true,返回的是 json 数据,而不是模板,这是bug还是什么原因呢?求解。
同样的,如果点击网页查看源代码,结果并不是html代码,而是json数据,需要刷新后才正常。
推荐文章: