我正在尝试通过ajax(jQuery)发送200万个字符(非二进制字符串)的POST数据,并且在PHP方面总是空白。这是我的代码:
var string = "<data string that is 2M chars long>";
$.ajax({
cache: false,
type: 'POST',
url: 'data.php',
data: {'data_string': string}
});
在PHP方面,我收到以下错误消息(尝试从中检索数据时$_POST['data_string']
):
Notice: Undefined index: data_string in data.php on line ...
我已经检查了post_max_size
php.ini,并将其设置为256M,这是否足够?我很困惑,不确定自己在做什么错…
编辑:如果我做"string"
少量数据(例如var string = 'test'
),则按预期$_POST["data_string"]
返回test
。所以我想知道我是否在Apache2,PHP或浏览器本身中达到某种数据限制?我正在使用Google
Chrome浏览器17.0.963.79
EDIT2:memory_limit = 256M
在php.ini中
EDIT3:max_input_time = -1
在php.ini中
EDIT4:var_dump($ _ POST)返回数组(0)
EDIT5:在debian squeeze上运行最新的稳定版PHP5:具有Suhosin-Patch(cli)的PHP 5.3.3-7 +
squeeze8(构建:2012年2月10日14:12:26)
您必须检查您与服务器之间所有项目的限制参数。对于代理服务器非常困难(如果有的话),但是至少您可以检查:
阿帕奇:
PHP:
如果您已达到Apache的已编译限制,则唯一的解决方案是避免直接处理如此大数据块的POSt,您必须将其分成几部分。
我创建了一个Ajax post请求,由于某种原因,PHP脚本没有正确接收post数据。我得到一个500内部服务器错误,后面是“XHR加载失败:POST”。 以下是我的javascript的一部分: 以下是PHP: 详细查看了我的代码后,我认为我在ajax请求中做了一些不正确的事情。在我的PHP文件中,如果我创建一个javascript警报来输出$\u POST变量,则不会打印任何内容。
我有一个页面(table.php),其中包含一个Datatables脚本,该脚本调用“table_data.php”作为源代码。 我试图在datatable表上方添加一个下拉筛选器,以控制datatable从哪组数据开始。问题是,Ajax数据文件(table_data.php)不能访问POST变量,我也没有看到通过dataTable({})实例化脚本的sAjaxSource调用向其传递变量的方法。
问题内容: 我正在尝试将数据从表单发送到数据库。这是我使用的表格: 典型的方法是提交表单,但这会导致浏览器重定向。使用jQuery和Ajax,是否可以捕获表单的所有数据并将其提交给PHP脚本(例如 form.php )? 问题答案: 的基本用法如下所示: HTML: jQuery的: 注:由于jQuery的1.8,并支持已被弃用,并且。 注意:请记住,上面的代码段必须在DOM准备就绪后完成,因此您
我似乎不知道如何使用ajax发布。我做了一个愚蠢的表单来尝试它,甚至在把它削减到只有两个值之后,仍然不能得到任何工作。我的html是这样的: 那么,我的外部javascript到目前为止只是一个单一的函数: 而我的php只是回显这些内容: 我在firebug或Chrome的工具薄中找不到任何错误…谁能告诉我我做错了什么?
问题内容: 我正在尝试使用POST方法编写XMLHttpRequest。我过去已经使用GET方法设法使用XMLHttpRequest,但是在POST方面却很挣扎。 这是我的代码: 它基本上调用PHP脚本,然后将一些信息添加到数据库中。 问题答案: 好吧,我已经设法对它进行了排序。 奇怪的原因虽然可能与沙箱安全性有关,但是我没有使用完整的URL地址,而是使用了文件的相对路径,现在可以使用了。 谢谢大
问题内容: 我正在尝试使用$ .post方法调用Web服务,我已经使用$ .ajax方法使它工作了: 但是,当我将相同的方法移到$ .post方法中时,它将无法工作: 我想念什么? 问题答案: 它不起作用,因为在您的方法中,您无法将请求的内容类型设置为。因此,不可能使用调用ASP.NET PageMethod,因为ASP.NET PageMethod需要JSON请求。您将不得不使用。 我将只修改,