Javascript Jquery:使用ajax POST方法发送大字符串
我对ajax POST方法有一些问题。我花了两天时间寻找可能的问题。我试图将大字符串发送到我的PHP服务器。但是服务器没有收到POST数据。我制作了一个小测试脚本来重现这个bug 下面是我的脚本,它使用POST方法向我的服务器发送一个大字符串Javascript Jquery:使用ajax POST方法发送大字符串,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我对ajax POST方法有一些问题。我花了两天时间寻找可能的问题。我试图将大字符串发送到我的PHP服务器。但是服务器没有收到POST数据。我制作了一个小测试脚本来重现这个bug 下面是我的脚本,它使用POST方法向我的服务器发送一个大字符串 var click = function () { //base_string (1 024 octets) var base_string = "aaaaaaaa ... aaaa"; var big_string = ""; for (i
var click = function ()
{
//base_string (1 024 octets)
var base_string = "aaaaaaaa ... aaaa";
var big_string = "";
for (i = 0; i < parseInt($("#size").val());i++)
{
big_string += base_string;
}
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
percentComplete = parseInt(percentComplete * 100);
console.log(percentComplete + "%");
}
}, false);
return xhr;
},
url: "test.php",
type: "POST",
data: {
data: big_string,
normal : "LOL"
},
dataType: "text",
success: function(_result) {
console.log("result\n" + _result);
}
});
}
您知道如何修复它吗?在您的浏览器工具中,或者使用Fiddler,您可以验证正在发布的数据是否包含字符串吗?使用Fiddler的示例:是的,我已经尝试过了。发布了大字符串,但PHP脚本没有收到它。Fiddler屏幕截图:在您的浏览器工具中,或者使用Fiddler,您可以验证正在发布的数据是否包含字符串吗?使用Fiddler的示例:是的,我已经尝试过了。发布了大字符串,但PHP脚本没有收到它。Fiddler屏幕截图:
<?php
foreach ($_POST as $key => $value)
{
echo "{$key} = {$value}\r\n";
}
?>
max_input_vars = 10000
post_max_size = 64M
suhosin.memory_limit=256M
suhosin.log.syslog=511
suhosin.executor.include.max_traversal=5
suhosin.post.max_vars=10000
suhosin.request.max_vars=5000
suhosin.request.max_varname_length=80
suhosin.request.max_totalname_length=300
suhosin.cookie.max_name_length=80
suhosin.post.max_array_index_length=80
suhosin.post.max_name_length=80
suhosin.get.max_array_index_length=80
suhosin.get.max_name_length=80