【问题标题】:Object not posting correctly with AJAX对象未使用 AJAX 正确发布
【发布时间】:2013-02-04 17:39:51
【问题描述】:

我有一个简单的函数,它将多个输入的值和 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"
    }
  }
}    

【问题讨论】:

  • 看来您应该使用$_POST["dataObject"]["timeBlockLocation"]$_POST["dataObject"]["timeBlockLocation"] 等。执行var_dump($_POST) 以快速了解其他情况。
  • 我用 var_dump 更新了帖子。如您所见,我将此功能与多个处理页面一起使用,因此输入并不总是一致的。预测它们的顺序并在处理页面上指定一个数组编号有点困难。
  • 我最终成功使用了:$timeBlockLocation = $connection->real_escape_string($_POST["dataObject"][0]["timeBlockLocation"]);如果可能的话,我很想摆脱额外的参数。否则,这使我得到了答案。如果您为我创建答案,我可以将您标记为正确。

标签: php jquery ajax object post


【解决方案1】:

正如 Mahn 所指出的,我在数组中导航错误。我最终成功地使用了如下符号:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    相关资源
    最近更新 更多