将大数组传递给PHP的最佳方法

将大数组传递给PHP的最佳方法,php,json,url,Php,Json,Url,我试图找到将大量ID从一个页面传递到下一个页面的最佳方法 我建立了一个简单的可下载图像站点,允许用户选择任意数量的图像进行下载。现在,当用户选择图像时,其ID存储在cookie中的JSON字符串中。我一直面临的问题是找到在下载页面之前将JSON传递给评论的最佳方法 目前,我将JSON作为URL参数发送,但我不确定这是否是最智能的解决方案,因为JSON中的ID数量可能达到数百个 我已经查看了PHP会话,但我真的不明白如何让用户能够在页面加载后添加/减去变量 $(function(){ $('.do

我试图找到将大量ID从一个页面传递到下一个页面的最佳方法

我建立了一个简单的可下载图像站点,允许用户选择任意数量的图像进行下载。现在,当用户选择图像时,其ID存储在cookie中的JSON字符串中。我一直面临的问题是找到在下载页面之前将JSON传递给评论的最佳方法


目前,我将JSON作为URL参数发送,但我不确定这是否是最智能的解决方案,因为JSON中的ID数量可能达到数百个

我已经查看了PHP会话,但我真的不明白如何让用户能够在页面加载后添加/减去变量

$(function(){
$('.download_cart').click(function(){
    var urlArray = [];
    obj = JSON.parse(getCookie("downloads"));
        if(obj != null){
            if(obj.items.length !== 0){
                $.each( obj.items, function( i, value ) {
                    urlArray.push(obj.items[i].id);
                }); 
            }
        }                           
    window.location = cart_url+'?array='+urlArray;
})
});

将URLARY分配给一个隐藏字段,然后提交表单,它可以将大量数组解析到另一个页面

考虑在一组ajax请求中传递它们,每个请求中传递200个ID(例如,不溢出输入限制)。

尝试
将数据发布到新的PHP页面:

var data = 'urlArray='+urlArray
$.ajax({
  type: "POST",
  url: 'new_php_page.php',
  data: data
});
现在,您可以在新页面的
$\u POST['urlArray']
上获取变量


您可以使用localStorage。可爱的Mark Crusaders Web开发者!:DI尝试了这个方法,但它似乎不起作用,在调用返回成功后,我重定向window.location=cart\u url,但$\u POST变量显示为null?这是因为您正在
POST
向脚本发送一个值,然后在通过重定向再次运行脚本时希望它在那里。您应该考虑使用带有
POST
方法的简单元素;并非所有的事情都需要用AJAX来完成。或者,修改PHP脚本,使其进行处理并返回一个值,然后在现有页面上使用该值,而不是重定向。目前,我将JSON作为URL参数发送,但我不确定这是否是最明智的解决方案,因为JSON中的ID数可能达到数百个。我问这个问题是想看看是否有更好的方法将json传递到我的PHP页面。是的,我读过并同意。正如我上面所说的,您应该考虑使用带有POST操作的
,或者让您的PHP脚本在使用jQuery发布后返回所需的内容。