将大JSON数据从Javascript发送到PHP

时间:2015-08-31 09:45:37

标签: php jquery ajax json

我有一个问题,我不确定如何处理:

我从API中恢复了一个大JSON,我需要在我的网站上显示其内容(一切都好),但我需要返回网站上显示的当前数据(它可以在通过我的AJAX调用发回之前被删除,编辑和修改),以便我可以通过API将该数据添加到另一个网站。

我可以在没有问题的情况下恢复和添加我当前的逻辑,当我从我的AJAX调用中获得一个大的JSON时会出现问题:

$.post('ajax/send_data.php?command=create&id=' + id, {data: superArray}, function(response){
    $('#data_table').html(response);
});

即使我发送这样的数据,最大值超出容量,导致创建大约30行数据。更改php.ini中的 max_input_vars 不是一个选项,我不能自己更改,加上它应该设置为一个非常大的数字,或者没有限制...

我想到的唯一解决方案(在其他几个不适用于我的情况之后)是遍历“数组”,以多个$ .post调用的方式发送数据...

问题是我的“数组”不是一个数组,因为php发回一个对象,原来它是一个关联数组。

  

问题是......如何循环我的对象,分成块,然后通过AJAX将这些块发送回PHP?

以下是我的尝试,使用参考Convert and Loop through JSON with PHP and JavaScript Arrays/Objects

for (var key in superArray) {
    str += JSON.stringify(superArray[key]);
    cnt++;
    if(cnt % 25 == 0){
        console.log(str);
        temparray = JSON.parse(str); // here gives an error
        $.post('ajax/send_data.php?command=create&id=' + id, {data: temparray}, function(response){
            str = "";
        });
    }
}

我无法将我的字符串块转回到一个对象中,因为该键在该过程中丢失(每个数据都创建如下:

  

未定义{               “ID”: “1338”,               “名称”:“24HRS”,               “description”:“......”})

我在这里做错了什么?对我的问题可能有更好的方法,我可能不知道吗?

修改

这就是我从Ajax电话发回的内容:

echo json_encode($html);

0 个答案:

没有答案