通过ajax发送关联数组

时间:2016-08-30 20:52:02

标签: javascript php arrays ajax

单击按钮时,我试图发送一组关联警告。它将传递id和类型的警告并触发collect函数,它将它们作为键值对存储到数组中。然后我想把它发送到另一个页面。问题是,如果它是简单的数组,当我调用$ _POST时会起作用[' warn'];但如果我把它改成一个关联数组,我会得到错误信息,说没有定义警告。这是我的JS代码:

var warnings = [];
function collect(id,type){ warnings [id]  = type;}
$('#but1').click (function (){
  $.post ("url", {warn: warnings}function(r){alert (r);});
});

有没有办法使用AJAX将关联数组作为键值对发送到我的php页面并使用$_POST获取数组?

1 个答案:

答案 0 :(得分:0)

您的警告可以在JavaScript中构建:

var warnings = {

    warning1: {
        id: 1,
        type: 'info'
    },

    warning2: {
        id: 2,
        type: 'danger'
    }

}

然后将warnings对象作为JSON发送到PHP中的服务器。您可以像这样解析它:

$json = json_decode(filter_input(INPUT_POST, 'warnings'));

确保warnings对应于ajax调用中的数据。