我正在尝试将数组发送到 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']);
?>
我在屏幕上遇到以下问题
为什么他要额外加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/