Php 使用JQuery AJAX将JSON数组保存到mysql
我将向我的控制器发送一个json数组以将其保存到数据库中,json数组如下所示Php 使用JQuery AJAX将JSON数组保存到mysql,php,jquery,mysql,json,ajax,Php,Jquery,Mysql,Json,Ajax,我将向我的控制器发送一个json数组以将其保存到数据库中,json数组如下所示 var events = [{ "title": "English Lesson Schedule", "start": "2017-09-17 06:30 AM", "end": "2017-09-17 09:00 AM", "date": "2017-09-17", "student": "1", "teacher": "2", "id": 1 }, { "title": "English Lesson Sche
var events = [{
"title": "English Lesson Schedule",
"start": "2017-09-17 06:30 AM",
"end": "2017-09-17 09:00 AM",
"date": "2017-09-17",
"student": "1",
"teacher": "2",
"id": 1
}, {
"title": "English Lesson Schedule",
"start": "2017-09-18 09:00 AM",
"end": "2017-09-18 10:30 AM",
"date": "2017-09-18",
"student": "1",
"teacher": "2",
"id": 2
}]
下面是我如何通过jQueryAjax发送它的
$.ajax({
type: "POST",
url: pp_return_url,
data: {
_token:token,
"eventsArray": JSON.stringify(events)
},
success: function(response) {
console.log(response)
}
});
下面是我如何在控制器上处理它
public function payPalTest(Request $request){
$events = json_decode($request['eventsArray']);
foreach ($events as $key => $event) {
$sched[$key] = new Schedule();
$sched[$key]->student = $event[$key]['student'];
$sched[$key]->teacher = $event[$key]['teacher'];
$sched[$key]->lesson_name = $event[$key]['title'];
$sched[$key]->lesson_date = $event[$key]['date'];
$sched[$key]->time_start = $event[$key]['start'];
$sched[$key]->time_end = $event[$key]['end'];
$sched[$key]->save();
}
return response('SUCCESS');
}
我的问题是,我的控制器为foreach()提供了一个
无效参数错误响应。你知道我做错了什么吗?谢谢好的,我已经找到我的错误了
我没有注意到我试图从数组中的单个对象获取值,因此
foreach ($events as $key => $event) {
$sched[$key] = new Schedule();
$sched[$key]->student = $event[$key]['student'];
$sched[$key]->teacher = $event[$key]['teacher'];
$sched[$key]->lesson_name = $event[$key]['title'];
$sched[$key]->lesson_date = $event[$key]['date'];
$sched[$key]->time_start = $event[$key]['start'];
$sched[$key]->time_end = $event[$key]['end'];
$sched[$key]->save();
}
我通过将变量$event
更改为$events
来修复它,因为$events
是集合,我循环遍历它并通过索引获取值,所以我这样做了
foreach ($events as $key => $event) {
$sched[$key] = new Schedule();
$sched[$key]->student = $events[$key]['student'];
$sched[$key]->teacher = $events[$key]['teacher'];
$sched[$key]->lesson_name = $events[$key]['title'];
$sched[$key]->lesson_date = $events[$key]['date'];
$sched[$key]->time_start = $events[$key]['start'];
$sched[$key]->time_end = $events[$key]['end'];
$sched[$key]->save();
}
现在它工作了,我可以将它保存在我的数据库中了好的,我已经找到了我的错误
我没有注意到我试图从数组中的单个对象获取值,因此
foreach ($events as $key => $event) {
$sched[$key] = new Schedule();
$sched[$key]->student = $event[$key]['student'];
$sched[$key]->teacher = $event[$key]['teacher'];
$sched[$key]->lesson_name = $event[$key]['title'];
$sched[$key]->lesson_date = $event[$key]['date'];
$sched[$key]->time_start = $event[$key]['start'];
$sched[$key]->time_end = $event[$key]['end'];
$sched[$key]->save();
}
我通过将变量$event
更改为$events
来修复它,因为$events
是集合,我循环遍历它并通过索引获取值,所以我这样做了
foreach ($events as $key => $event) {
$sched[$key] = new Schedule();
$sched[$key]->student = $events[$key]['student'];
$sched[$key]->teacher = $events[$key]['teacher'];
$sched[$key]->lesson_name = $events[$key]['title'];
$sched[$key]->lesson_date = $events[$key]['date'];
$sched[$key]->time_start = $events[$key]['start'];
$sched[$key]->time_end = $events[$key]['end'];
$sched[$key]->save();
}
现在它工作了,我可以将它保存在我的数据库中执行JSON。stringify将JSON转换为字符串。。直接传递json并查看您是否在phpdoing中获得json中的数据。stringify将json转换为字符串。。直接传递json并查看是否使用php获取数据