javascript - 通过 $.ajax 将数组/集合发送到 PHP。 PHP 添加数字

标签 javascript php jquery ajax

我正在尝试将数组发送到 PHP 脚本:

usedAnswers = [1,2];

    // funtion for displaying a question
    displayQuestion = () => {

        $.ajax({
            url: "backend/retriveData.php",
            data: {usedAnswers:usedAnswers} ,
            type:"post",
            success: function(response) {
                console.log(response);
            }
        });
    }

    // inital display of question
    displayQuestion();

然后当我想在PHP脚本中访问数组时

<?php
echo print_r($_POST['usedAnswers']);
?>

我在屏幕上遇到以下问题

enter image description here

为什么他要额外加1?

当我尝试像这样访问数组的第一个元素时:

echo print_r($_POST['usedAnswers'][0]);

他控制台记录了我的数字 11?

我做错了什么通过Ajax发送数组的正确方法是什么?

是否也可以通过 Ajax 发送一组?

最佳答案

因此,根据您的评论,您的问题似乎实际上是指如何发送数据,而不是您得到的奇怪输出,Jay 已经为您回答了。

就您的代码而言,您实际发送的是:

{[1, 2]:[1, 2]}

这是无效的 JSON。

如果你想真正拥有一个“usedAnswers”键(它看起来像你的 php),那么你需要这样做:

        $.ajax({
            url: "backend/retriveData.php",
            data: {'usedAnswers':usedAnswers}, // <-- note the quotes around the key
            type:"post",
            success: function(response) {
                console.log(response);
            }
        });

关于javascript - 通过 $.ajax 将数组/集合发送到 PHP。 PHP 添加数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60616934/

相关文章:

Javascript:如何从事件回调函数访问对象成员

javascript - 在 Leaflet.Routing.Control 中设置语言选项

php - 如何将文本文件导入sql

jquery - 固定高度,带有流畅的最大高度文本区域 - 自动溢出

javascript - 如何使背景图像可点击(javascript 或 css)

javascript - 单击事件在 Chrome 中不起作用,但当我们从控制台手动执行时会触发事件

javascript - 如何将简单的 onClick 事件处理程序添加到 Canvas 元素?

javascript - VSCode - 更改 IntelliSense 内的颜色

php - 如何交叉选择一些数据

php - 两个 .htaccess 两个站点