通过AJAX发布PHP中的Echo JSON对象
我不知道我做错了什么,但我有一个表单,管理员可以在其中插入来自多个字段的学生。例如,管理员希望插入五名学生,每个学生都有一个通过AJAX发布PHP中的Echo JSON对象,php,jquery,mysql,json,ajax,Php,Jquery,Mysql,Json,Ajax,我不知道我做错了什么,但我有一个表单,管理员可以在其中插入来自多个字段的学生。例如,管理员希望插入五名学生,每个学生都有一个idNumber,firstName,middleName,lastName,courseYear和部分。我将所有具有相同属性的值分组,因为我认为可以在php文件中轻松访问它们,因为它们将具有相同的索引 下面是我的ajax代码,我循环了这些值,并通过访问它们的类索引将它们插入到数组中: for(var x=0; x < fieldsLength; x++) {
idNumber
,firstName
,middleName
,lastName
,courseYear
和部分。我将所有具有相同属性的值分组,因为我认为可以在php文件中轻松访问它们,因为它们将具有相同的索引
下面是我的ajax代码,我循环了这些值,并通过访问它们的类索引将它们插入到数组中:
for(var x=0; x < fieldsLength; x++) {
id_number[x] = $('#addStudMainTable tbody tr:eq(' + x + ') .add_stud_id_number').val();
first_name[x] = $('#addStudMainTable tbody tr:eq(' + x + ') .add_stud_firstname').val();
mid_name[x] = $('#addStudMainTable tbody tr:eq(' + x + ') .add_stud_midname').val();
last_name[x] = $('#addStudMainTable tbody tr:eq(' + x + ') .add_stud_lastname').val();
course_year[x] = $('#addStudMainTable tbody tr:eq(' + x + ') .add_stud_courseyear').val();
section[x] = $('#addStudMainTable tbody tr:eq(' + x + ') .add_stud_section').val();
}
打开提交表单,我得到发布的对象,在php文件中,我对其进行了解码,并使用var\u dump
显示所有对象,但我无法通过它们的属性和索引访问它们,我得到了很多错误,如:
Warning: json_decode() expects parameter 1 to be string, array given in...
Trying to get property of non-object in...
Fatal error: Cannot use object of type stdClass as array in...
Notice: Undefined offset: 1 in...
我真正想做的是通过它们的属性和索引来访问它们,这样我就可以将它们插入数据库,但我不知道怎么做
有人能帮帮我吗?我真的不知道我现在在做什么,我应该做什么
- 请不要讨厌,但要帮助我,因为我在这方面真的很在行。多谢各位
基于提供的代码片段。您应该能够通过以下方式访问服务器端的数据:
$data = json_decode($_POST['dataJson']);
for ($i=0; $i<count($data->idNumber); ++$i) {
// do something with the following info
$data->idNumber[$i];
$data->firstName[$i];
$data->middleName[$i];
$data->lastName[$i];
$data->courseYear[$i];
$data->section[$i];
}
$data=json\u decode($\u POST['dataJson']);
对于($i=0;$iidNumber)++$(一){
//用下面的信息做一些事情
$data->idNumber[$i];
$data->firstName[$i];
$data->middleName[$i];
$data->lastName[$i];
$data->courseYear[$i];
$data->section[$i];
}
是的,这对我很有效。我觉得我在ajax部分做错了什么。非常感谢。
$data = json_decode($_POST['dataJson']);
for ($i=0; $i<count($data->idNumber); ++$i) {
// do something with the following info
$data->idNumber[$i];
$data->firstName[$i];
$data->middleName[$i];
$data->lastName[$i];
$data->courseYear[$i];
$data->section[$i];
}