javascript - 如何在 jQuery 中通过 .post 发送数组?

标签 javascript php jquery arrays serialization

这是我的代码,不起作用:

var sessionListJSON = GatherSessionsFromPage();

    $.post('ajax.php', {
        _ExportMissingAddressesToXLS : 1,
        sessions : sessionListJSON  // ARRAY
    }, function(data) {

    }); 

这是我捕获它的 php 尝试:

else if (array_key_exists('_ExportMissingAddressesToXLS', $_POST)) { // {{{
    $sessions = $_POST['sessions'];
    ExportMissingParentAddressesToXLS($sessions);
} // }}}

如何通过 jQuery .post 正确发送该数组,然后在 PHP 中检索它?另外,这会是序列化的情况吗?如果是这样,你如何为 JS/jQuery 做到这一点?

最佳答案

jQuery 在 $.post() 中自动为您序列化数组。在 PHP 中,如果 sessionListJSON 是一个数组,则 $_POST['sessions'] 将是一个数组。您可以通过普通数组索引、foreach 等来访问它。

如果sessionListJSON确实是一个JSON字符串,则需要在PHP中对其进行解码:

$session = json_decode($_POST['sessions']);

关于javascript - 如何在 jQuery 中通过 .post 发送数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19870532/

相关文章:

php - 在数据库中存储上载图像的路径

php - ckeditor 和 cakephp - 我不能使文本区域更大 - 我做错了什么

javascript - 获取切换开关的值不起作用

javascript - 另一个 Action 结束后执行 Action

javascript - 在 <img..> 附加 jquery 后图像未加载

php - 拉维尔 : How to send variable from one page to another in blade

jquery - 使用 css 缩放拖放

javascript - 为什么表单标签拒绝点击事件?

javascript - 如何将表单的结果转换为图像

javascript - 将 javascript 应用于所有按钮