通过ajax发送大量对象时出现问题

时间:2018-01-14 13:23:45

标签: jquery json ajax .htaccess

我有一个超过1000个对象的数组,我想通过ajax将它发送到php文件:

 var storiesToSave = Stories.sort(function(a,b){
                return new Date(a.date) - new Date(b.date);
            });

        $.ajax({
            type: 'POST',
            url: "saveStories.php",
            data: {"stories": JSON.stringify(storiesToSave)},
            success: function (result) {alert(result);},
            error: function(request, status, error) {alert("Error: Could not save because "+ error); }
        });

现在我已经使用XAMPP服务器在本地尝试了所有这些并且它工作正常,但是当我尝试将其上传到网站时(我使用免费托管服务 - 000webhost)它没有&#39工作。

我没有收到错误,但$ _POST仍为空。每隔一段时间它似乎随机工作,但99%的时间它是空的。我已经尝试拼接数组中的前20个对象,然后它可以工作,但随着我增加数字,它开始失败更多。

我尝试了Stack Overflow的几个解决方案,但它们似乎都产生了类似的结果。

没有json转换:

jQuery.post("saveStories.php", {stories: storiesToSave}, function(data){ alert(data); });

这个甚至不能在XAMPP服务器上工作(使用内容类型json):

        $.ajax({
            type: 'POST',
            url: "saveStories.php",
            data: JSON.stringify({"stories": storiesToSave}),
            contentType: "application/json",
            success: function (result) {alert(result);},
            error: function(request, status, error) {alert("Error: Could not save because "+ error); }
        }); 

作为最后的手段,我也将这些行添加到我的.htaccess文件中,但它们似乎不会影响任何内容

php_value post_max_size 20M
php_value upload_max_filesize 20M

php_value max_input_vars 100000

总的来说,问题似乎是大尺寸(仍然只有几个字节),而且只在服务器上(希望不是免费托管服务的限制)。有没有办法解决这个问题,通过改变它或使用完全不同的方法?

感谢。

0 个答案:

没有答案