当我尝试通过 ajax.get() 传递大量变量并且其中一些变量包含很长的文本(~1000 个字符)时,PHP 似乎没有接收到任何变量。另一方面,当变量包含的文本少得多时,一切似乎都工作正常。
这是代码:
$.ajax({
type: "GET",
url: "../rate_insert.php",
async: true,
data: ({
"ftiaxto_save_input": ftiaxto_save_input,
"lektion_buch": lektion_buch,
.
. // lots of variables
.
"lektion_photo": lektion_photo,
"lektion_photo_thessi": lektion_photo_thessi
}),
success: function(data) {
alert("Data Loaded: " + data);
} // data
}); // .get
rate_insert.php 中的 Var_dump($_GET) 不返回任何内容。我的php.ini设置如下:
post_max_size = 80M
max_input_time -1
memory_limit = 128M
注意:没有 httpd 服务器,php 作为 CLI SAPI 运行。
最佳答案
通过 GET 传递的数据量是有限制的。您应该使用 POST。
编辑 - 在这里查看限制 What is the maximum length of a URL in different browsers?
关于php - 无法通过 ajax.get() 传递包含大文本 block 的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6455011/