javascript - 将数据数组从表单传递到 ajax、PHP post 文件

标签 javascript php jquery ajax mysqli

我会尽量保持简短。 我有一个表单,其输入字段(其中 54 个)会自动填充数据库中的数据。使用 PHP while 循环为每个输入字段的 ID 分配一个 ID。用户可以编辑值并单击提交。当表单提交时,数据被传递到jquery中的数组中。我希望能够通过 POST 将该数组从 ajax 传递到 PHP。

表单/提交页面

$settings = array();
$counter = 0;

if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_assoc($result)) {
        $settings[$counter] = $row['value'];

        echo "<tr>
                <td>" . $row[$settings] . "</td>
                <td><input type=\"text\" id=\"" . $counter . "\" value=\"" 
                                 . $settings[$counter] . "\"></td>";
        counter++;
    }
}

mysqli_close($svr_link);

jQuery 脚本(表单/提交页面内)

    $('#update').click(function(event) {
    event.preventDefault();

    var settings = [];
    for (i=0; i<55; i++) {
        settings[i] = $('#' + i).val();
    }

    $.ajax({
        type: "POST",
        url: "pages/post.php",
        data: {settings:settings},
        success: function(data) {
            $('#message').html(data);
        }
    });
});

我的问题是:

  1. 我是否在 ajax 调用中正确设置了该数据数组?

  2. 如何拉取并处理post.php文件中的数据数组?

如果我遗漏了相关内容,请告诉我

最佳答案

如果您以 JSON 形式发送数组数据,建议在客户端设置的 ajax 中设置 dataType

$.ajax({
    type: "POST",
    url: "pages/post.php",
    dataType: 'json',
    data: {settings:settings},
    success: function(data) {
        $('#message').html(data);
    }
});

在服务器端,使用 json_decode 函数获取数组,这样您就可以轻松地处理数据。它会是这样的:

json_decode($_POST['settings'], true);

关于javascript - 将数据数组从表单传递到 ajax、PHP post 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54483395/

相关文章:

jquery - 使用 jquery 添加链接的 href 值

javascript - AngularJS - angularJS 路由问题

javascript - AWS Cognito 将用户状态更改为禁用

php - 在 php xampp ubuntu 中找不到类 'MongoClient'

php - 根据多项选择的结果运行if语句

jquery - 使用 Bootstrap 使输入/表单栏响应

JavaScript Promise 准备就绪

javascript - iOS 8 错误 - 当设备从 sleep 中返回时,OnUpdateReady 不再调用

php - 重复事件

jquery改变加载获取url