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