php - 对象无法使用 AJAX 正确发布

标签 php jquery ajax object post

我有一个简单的函数,它将多个输入的值和 id 编译到一个对象中,然后将它们传递给 AJAX 函数。不幸的是,我无法正确发布数据。处理页面肯定被调用了,变量也到达了js(对象在控制台中看起来是正确的),但是所有变量在处理页面上似乎都是空白的。

脚本:

$("#" + buttonId).find(".submitValue").each(function() {
    inputId = $(this).attr("id").replace(buttonId + "-", "");
    inputValue = $(this).val();

    var data = {}; 
    data[inputId] = inputValue;
    dataObject.push(data);
});

$.post(
    'ajax/' + buttonId + '.php', 
    {
        'nextForm': formNumber,
        dataObject: dataObject
    },
    function (response) {
        $("#" + buttonId).append(response);

    }
);

相关的php处理页面(还有比这更多的变量,但看起来都一样 - 本例中的id是“timeBlockLocation”,“appointmentAddress1”,“appointmentAddress2”) - 连接已创建

$nextForm = $connection->real_escape_string($_POST["nextForm"]);
$timeBlockLocation = $connection->real_escape_string($_POST["timeBlockLocation"]);
$appointmentAddress1 = $connection->real_escape_string($_POST["appointmentAddress1"]);
$appointmentAddress2 = $connection->real_escape_string($_POST["appointmentAddress2"]);

这是 $_POST 处理页面上的 var_dump:

array(2) {
  ["nextForm"]=>
  string(1) "6"
  ["dataObject"]=>
  array(3) {
    [0]=>
    array(1) {
      ["timeBlockLocation"]=>
      string(1) "1"
    }
    [1]=>
    array(1) {
      ["appointmentAddress1"]=>
      string(4) "TEST"
    }
    [2]=>
    array(1) {
      ["appointmentAddress1"]=>
      string(5) "TEST2"
    }
  }
}    

最佳答案

正如 Mahn 指出的那样,我对数组的导航是错误的。我最终成功地使用了如下符号:

$timeBlockLocation = $connection->real_escape_string($_POST["dataObject"][0]["timeBlockLocation"]);

关于php - 对象无法使用 AJAX 正确发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14967683/

相关文章:

javascript - Jquery val() 总是获取第一个选择值,无论选择哪个

javascript - jQuery .load() 回调函数多次触发

php - .htaccess 内部服务器错误 : ErrorDocument not working (RewriteEngine on)

javascript - 使用 jQuery 在滚动条上重新定位元素

php - 以 FCGI 运行的 PHP 的 HTTP 身份验证

jquery - 使用 jQuery 508 是否兼容?

javascript - AJAX:如何在单击按钮时更改客户端和服务器端的值?

javascript - 如何在 FLASK 中使用 ajax 发布数据后渲染模板?

php - 为什么 php 函数不更新数组值

php - WooCommerce 预订 : Echo booking time and date in confirmation email