【问题标题】:How to send JavaScript array using AJAX to PHP?如何使用 AJAX 将 JavaScript 数组发送到 PHP?
【发布时间】:2013-12-23 02:06:54
【问题描述】:

我想在用户点击按钮时向服务器发送一个 JavaScript 数组。

我目前的代码如下,但它不起作用,有人可以帮我解决这个问题吗?

HTML

<?
    $arrs = {include for database}
    $js_array = json_encode($arrs);
?>
<script>
    var dataArray = <?php echo $js_array; ?>;
    var jsData = JSON.stringify(dataArray);
    $.ajax({
        type: "POST",
        url: "savepos.php",
        datatype: "JSON",
        data: {data : jsData},
        success: function() {
            alert('success!');
        }
    });
</script>

savepos.php

$data_array = json_decode(stripslashes($_POST['data']));

但是,我得到 $data_array 为 null ?

【问题讨论】:

  • 你为什么在这里使用stripslashes()
  • 这里不需要stripslashes,您应该在&lt;?php echo $js_array; ?&gt; 行周围加上引号
  • 我使用 json_decode($_POST['data']);这行不通。我不知道。
  • $_POST['data'] 的值是多少?运行此程序时是否收到alert('success!');?控制台有错误吗?

标签: javascript php jquery ajax


【解决方案1】:

您可以只发送数组而不使用 JSON.stringify()。不需要它,因为您设置了数据类型。看看这个fiddle

在点击运行之前打开 chromes 网络工具以查看正在发送的表单数据。然后你可以使用

<?php json_decode($_POST['data']); ?>

【讨论】:

    猜你喜欢
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-28
    相关资源
    最近更新 更多