2

我有 jQuery 代码:

$(document).ready(function() {

answers = new Array();

answers[0] = new Array();
answers[0]['question_id'] = 12;
answers[0]['answer_id'] = 32;

answers[1] = new Array();
answers[1]['question_id'] = 55;
answers[1]['answer_id'] = 132;

answers[2] = new Array();
answers[2]['question_id'] = 987;
answers[2]['answer_id'] = 1112;

$.ajax({
    type: "POST",
    url: "collect.php",
    data: {answers: answers},
    dataType: "json",
    beforeSend:function(){
        // Do something before sending request to server
    },
    error: function(jqXHR, textStatus, errorThrown){

        alert(errorThrown);
    },
    success: function(data){

        alert('success!');
    }
});

});

现在,这应该工作吗?根据我在寻找代码示例时发现的内容。问题是,我不知道如何在我的 PHP 文件中收集数据。我的意思是,它是一个 $_POST[],但是然后呢?如何收集 $result[0]['question_id'] 和所有其他数据?

非常感谢提前,

卡尔·卡尔森

4

3 回答 3

3

您实际上从未使用数据填充 answers 数组中的数组,它们的长度仍然为 0,因为您使用的是字符串索引而不是 int 索引。您真正想要的是存储在数组中的对象。

answers[0] = {};
answers[0]['question_id'] = 12;
answers[0]['answer_id'] = 32;
于 2013-08-16T14:34:37.303 回答
1

您可以收集 php 页面中的值$_POST['answers']。然后你可以遍历该数组对数据做任何你想做的事情。

于 2013-08-16T13:59:44.770 回答
1

通过将 Javascript 更改为:

answers = {};

然后我可以简单地访问 PHP 中的数据:

$_POST['answers'][1]['answer_id'];

例如,或者只是循环通过它。

感谢您的帮助,女士们,先生们。

于 2013-08-16T14:34:23.850 回答