使用JSON和AJAX解析Javascript对象数组

使用JSON和AJAX解析Javascript对象数组,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我有一个Javascript对象数组,在使用AJAX处理之前,我使用JSON.stringify()将其转换为字符串 在服务器端,我所要做的就是验证是否设置了正确的$\u POST[“flavors”]变量,并输出其内容。我已经验证(通过一个简单的条件)正在设置$\u POST[“flavors”],但我不知道如何修改ajax调用(或PHP)以正确输出其内容 我在这里读到,我(可能)需要为$.AJAX调用设置数据类型和/或在我的PHP脚本中设置头,但我不确定设置头是否适用,因为它在functi

我有一个Javascript对象数组,在使用AJAX处理之前,我使用JSON.stringify()将其转换为字符串

在服务器端,我所要做的就是验证是否设置了正确的
$\u POST[“flavors”]
变量,并输出其内容。我已经验证(通过一个简单的条件)正在设置
$\u POST[“flavors”]
,但我不知道如何修改ajax调用(或PHP)以正确输出其内容

  • 我在这里读到,我(可能)需要为$.AJAX调用设置数据类型和/或在我的PHP脚本中设置头,但我不确定设置头是否适用,因为它在functions.PHP文件中*
(数组函数)

(将数组字符串化并处理AJAX)

(用于在functions.PHP中处理AJAX的PHP)


如果您的问题是“如何检查ajax在我的浏览器中发送/接收的内容”,那么答案是“使用浏览器开发人员控制台并检查网络选项卡”。无需对任何内容进行字符串化,而且您已经将数据返回到ajax函数并将其输出到
#ajax
,这不管用吗,如果是的话,问题到底是什么?
flavors = [];
  function wholesaleAJAX() {
  var sizeSelect = $('form#wholesale-size-form input:checked');
  if (sizeSelect.val() === 'regularBag') {
    $('select[name="wholesale-flavors-regular"] option:selected').each(function() {
        name = $(this).text();
        qty = $(this).closest('.row').find('div.large-3 select[name="wholesale-flavors-regular-count"] option:selected').text();
        flavors.push(new FlavorSelects(name, qty));
    });
} else if (sizeSelect.val() === 'largeBag') {
    $('select[name="wholesale-flavors-large"] option:selected').each(function() {
        name = $(this).text();
        qty = $(this).closest('.row').find('div.large-3 select[name="wholesale-flavors-large-count"] option:selected').text();
        flavors.push(new FlavorSelects(name, qty));         
    });     
}
stringArray = JSON.stringify(flavors);
$.ajax({
    type:"POST",
    url: "/wp-admin/admin-ajax.php",
    data: {
        action: "returnHash",
        flavors: stringArray
    },
    success:function(data){
        $("#ajax").html(data);
    }
});
function returnHash() {
  if (isset($_POST["flavors"])) {
    $flavors = json_decode($_POST["flavors"]);
    print_r($flavors);
  } else {
    echo 'Not Set';
  }
  die();
}
add_action('wp_ajax_returnHash', 'returnHash');
add_action('wp_ajax_nopriv_returnHash', 'returnHash');