php - 通过 AJAX 发布在 PHP 中回显 JSON 对象

标签 php jquery mysql json ajax

我不知道我做错了什么,但我有这个表格,管理员可以在其中插入来自多个领域的学生。例如,管理员想要插入五个学生,每个学生都有一个 idNumberfirstNamemiddleNamelastNamecourseYearsection。我将所有具有相同属性的值分组,因为我认为我可以在 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();
    }

这是我将这些数组作为对象和 ajax 的地方:

var data = {
    idNumber: id_number,
    firstName: first_name,
    middleName: mid_name,
    lastName: last_name,
    courseYear: course_year,
    section: section
};

var dataJson = JSON.stringify(data);

$.ajax({
    type: "POST",
    url: "manage_add_student.php",
    datatype: "json",
    data: {dataJson: dataJson},
    success: function(result) {
    $("#showResultVarDump").html(result);
    },
});

打开提交表单,我得到了发布的对象,在 php 文件中我对它进行了 json_decode 编辑,然后我使用 var_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];
}

关于php - 通过 AJAX 发布在 PHP 中回显 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32798651/

相关文章:

php - 在 oop php 中重用 mysql 连接

c# - 如何在我的 Linux Web 服务器上运行 .dll 文件

javascript - 如何覆盖 javascript 表单小部件的属性

mysql - 按区域设置然后选择语言?

mysql - 如何将单个表链接到两个不同表中的数据?

php - 选择 *,最后(日期时间)

PHP Paypal 错误 : 14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

jquery - 如何防止特定选择器上的 document.ajaxstart

jquery - 使用 jquery position() 进行奇怪的定位

php - 上传 PDF 文件并将文件名发送到数据库