如何解决php(laravel)中未定义索引的错误
我使用Post方法将数组从视图发送到控制器。这是我的密码 控制器:如何解决php(laravel)中未定义索引的错误,php,laravel,Php,Laravel,我使用Post方法将数组从视图发送到控制器。这是我的密码 控制器:Session::put('isCheck',$isCheck) 这就是我给isChecked数组赋值的方式 var isChecked = [ <?php $isCheck = ""; if (Session::has('isCheck')) { $isCheck = Session::get('isCheck'); } foreach ($isCheck as
Session::put('isCheck',$isCheck)代码>
这就是我给isChecked数组赋值的方式
var isChecked = [
<?php
$isCheck = "";
if (Session::has('isCheck')) {
$isCheck = Session::get('isCheck');
}
foreach ($isCheck as $isCheck) {
$status = $isCheck;
?>
<?php echo $status; ?>,
<?php } ?>
];
但我得到了未定义的索引副本检查错误。帮帮我吧你不能像那样将javascript数组传递给php,你必须将数组转换成JSON并发送出去
应该如此
var data = JSON.stringify({
isChecked: isChecked,
duplicateIsChecked: duplicateIsChecked
});
要在控制器中获取JSON负载,可以使用
$payload = Input::json()->all();
然后,要访问该属性,可以将其引用为
$payload['DuplicateSchecked']
&$payload['isChecked']
您是否检查了Ajax调用的标头以确保其发送了任何数据?在您发布的代码中,您将变量分配给数据中的两个值,但没有显示在何处声明这些变量值。您是否尝试打印$payload,它提供了什么?你的URL正确吗?是的,我试着打印$payload['isChecked']。但它是说未定义的索引已检查。你能发布你的JS AJAX调用和控制器代码吗?从控制器我正在为已检查创建会话,在视图中,我正在使用GET Session方法,并将该数组分配给JS变量isCheckedTry,使用console.log(JS_array)记录你的JS数组在发送AJAX调用之前,];这是在您发送或接收Ajax调用的页面中吗?我从控制器向视图发送硬代码数组,在视图中,我使用上述代码在全局数组变量中获取该数组,以便我可以在整个视图中使用该数组,在使用该数组后,我再次使用POST方法向控制器发送更新的数组。您命名为您的变量已检查(大写I),但在ajax数据中,您指的是已检查(小写I)。Javascript是区分大小写的,所以这可能是问题所在。不,不,在错误地发布que时,我写了大写字母i。在我使用的代码中,我只进行了检查。我没有得到它isChecked
和duplicateschecked
javascript变量是否正确?是。我已经更新了我的代码。
var data = JSON.stringify({
isChecked: isChecked,
duplicateIsChecked: duplicateIsChecked
});
$payload = Input::json()->all();