gpt4 book ai didi

php - AJAX使用$_POST方法传输大量数据

转载 作者:行者123 更新时间:2023-11-28 13:44:57 24 4
gpt4 key购买 nike

我想使用 AJAX 将大量文本传输到服务器。我想使用 POST 方法附加此文本,但出现以下错误:

请求失败:URI 太长(超过 8190)

我的 JavaScript 代码:

function loadXMLDoc(data) {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", "http://www.mydomain.com/test2.php?blob=" + data, true);
xmlhttp.send();
}

我的PHP代码:

$dataraw = $_GET["blob"];

file_put_contents('/path/to/my/file/newfile.txt', $dataraw);

echo 'file saved';

最佳答案

你应该改变这个

xmlhttp.open("POST","http://www.mydomain.com/test2.php?blob=" + data,true);  
xmlhttp.send();

对此:

xmlhttp.open("POST", "http://www.mydomain.com/test2.php", true);   
var payload = "blob=" + data;
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.setRequestHeader("Content-length", payload.length);
xmlhttp.send(payload);

在 POST 中,参数应位于消息正文中,而不是 URL。

同时,您应该在 $_POST 中期待服务器端的参数 - 这就是 PHP 中主体参数的最终位置。

关于php - AJAX使用$_POST方法传输大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com