繁体   English   中英

通过ajax发送关联数组

[英]Send associative array through 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获得该数组?

您的警告可以像在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调用中的数据相对应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM