单击按钮时,我试图发送一组关联警告。它将传递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
获取数组?
答案 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调用中的数据。