json数组格式化

时间:2015-01-21 06:07:29

标签: arrays ajax json

所以我试图通过一个ajax帖子传递我认为的json数组,但我没有运气。如果我将dataType更改为" text"并且只是添加一些文本作为我的数据,它工作正常,它告诉我它的数据格式。

我得到了一个' null'在我的php页面上转储数据时。

这是我的数据在发布之前的样子:

[{"name":"La Sal, UT","type":"city"},{"name":"Utah, US","type":"state"},{"name":"United States","type":"country"}]

以下是生成该数据的代码:

var groups=[];

    if(town && stateShort){
      groups.push({name: town+", "+stateShort,
               type:"city"
      });
    }

    if(neighborhood && stateLong){
      groups.push({name: neighborhood+", "+stateShort,
               type:"neighborhood"
      });
    }

    if(stateLong && countryShort){
      groups.push({name:stateLong+", "+countryShort,
               type:"state"
      });
    }

    if(countryLong){
      groups.push({name:countryLong,
               type:"country"
      });
    }

     groups = JSON.stringify(groups);
     console.log(groups);

     $(document).ready(function(){

      $.ajax({
            type: "POST",
            url: "check_groups.php",

            data: groups,
            dataType: 'json',
            success: function (data) {
                alert("success");
            },
            error: function(xhr) {
            if(xhr.status == 422) {
              alertValidationErrors(parseErrors(xhr));
            } else {
              alert('An error occurred while processing the request.');
            }
            }   
        });    
     });

我认为这些数据没有发布是有意义的,因为它看起来不像我发布的任何json对象,但是,我还是希望json_stringify()是一种排序 - 全面解决方案。

所以我的问题是,我应该更改为json正确格式化这个?

真诚地感谢您的帮助。非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试传递数据添加密钥,更改:

...
data: groups,

…
data: {"groups" : groups},
…

和PHP:

$data = json_decode($_POST['groups']);