<script>
function admin_menu_child(mid) {
window.location.href = '?mid = ' + mid;
}
</script>
$mid = (int)$request->mid;
echo '<pre>';
print_r($request->all());
print_r($mid);
return;
明明$request->all()有值,而$request->mid无值,说明$request->mid有问题,$request->没问题,那就只有mid有问题。
一遍又一遍的排查,忽然发现$request->all()拿到的值是mid_,而不是mid,奇怪,这是什么问题,原来是window.location.href = ‘?mid = ‘ + mid;当中的’?mid = ‘在捣鬼,把等号之前的空格拿掉,再看结果,正常了。
$mid = (int)$request->mid;当中的(int),如果没有,那么当mid无值时, $mid的类型是undefined,如果使用,就会报错。如果使用(int)强制转换成整数,当遇到$mid的类型是undefined会转换在“0”,使用时就不会报错了。