javascript - 我如何使用 JS 和 AJAX 发送数组

标签 javascript php jquery arrays ajax

我有多个输入字段,用户可以在其中填写问题的答案,我使用 JavaScript 将用户输入放入数组中。

当我在 google chrome 中查看控制台日志时,我看到数组将变得正确,之后我想使用 AJAX 将数组发送到另一个 php 页面,以便我可以将数据保存到我的数据库中。

当我检查数据库时,发布结果=“Array”:(

谁能帮我???

//////JavaScript 和 AJAX 代码:

if (isConfirm) {
    checkAnswers();
    $('input[id="answer"]').each(function() {
        allAnswers.push($(this).val());
        allAnswers.toString(); 
    });
    console.log(allAnswers);
    $.ajax({
        type: 'post',
        url: 'actions/save_questions.php',
        data: { 'answers': allAnswers }
    });
}

///////PHP 代码:

<?php

$user_answer = $_POST['answers'];
$date = date('d-m-Y h:i:s');

$arr = array($user_answer);

$query = "INSERT INTO made_questions (lesson_id, user_answer, datum) VALUES ('1', '$arr', '$date')";
mysqli_query($conn,$query) or die (mysqli_error($conn));

?>

我的数据库的输出是:

ID:27

类(class) ID:1

user_answer:数组 <----- 这是错误的:(

数据:2016-06-16 08:12:32

控制台日志输出:

["马", "nocleu", "Geel", "这是我的狗", "古腾标签", "太阳", "Aap", "红儿", "knol", "猫"]

谁可以帮助我???

非常感谢!

最佳答案

.toString().join() 不要修改原始变量。您需要说:

allAnswers = allAnswers.toString();

或者

data: {'answers': allAnswers.toString()}

另外

如果您想要值“,”分隔,而不仅仅是“,”,这就是 .toString() 返回的值你可以说:

allAnswers = allAnswers.join(", ");

或者

data: {'answers': allAnswers.join(", ");

重要:

需要注意的是,如果您以这种方式使用 .toString(),您的 .each() 循环将会中断。

损坏

$('input[id="answer"]').each(function(){
    allAnswers.push($(this).val());
    allAnswers = allAnswers.toString(); 
});

上面的代码不会工作,因为第一次迭代后,allAnswers将是一个字符串,因此,调用 .push()会抛出异常,因为 .push()不是 string 的函数.

已修复

$('input[id="answer"]').each(function(){
    allAnswers.push($(this).val());  
});
allAnswers = allAnswers.toString();

此代码通过将值附加到数组之后将数组转换为字符串来解决此问题。

关于javascript - 我如何使用 JS 和 AJAX 发送数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37866826/

相关文章:

javascript - "fullpage js"上的滚动条

javascript - 使用外部脚本结果填充本地 div

javascript - 使用变量属性值从javascript数组中删除对象

php - 回应查询不起作用(返回 "Resource id #18")

php - 如何在 PHP (Laravel) 中使用多个接口(interface)实现?

jquery - 如何使用 jQuery 切换相邻单元格内容

javascript - 无法将变量数据提取为字符串格式以传递给数据库

javascript - 为什么 javascript 无法识别我创建的 ID 标签?

php - Mysqli 绑定(bind) - 未知数量的参数

jquery - css 最后一个选择器(不是最后一个子元素)