gpt4 book ai didi

javascript - 如何使用 POST 将字符串发送到 php

转载 作者:行者123 更新时间:2023-11-30 08:03:12 26 4
gpt4 key购买 nike

<分区>

我使用以下代码在 javascript 中通过 xmlhttp 发送一个字符串:

    function SendPHP(str, callback) {
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {


callback(xmlhttp.responseText); //invoke the callback
}
}
xmlhttp.open("GET", "testpost.php?q=" + encodeURIComponent(str), true);

xmlhttp.send();

}

和一些测试 php:

$q = $_GET['q'];
echo $q;

在我开始发送一个更大的字符串之前一切正常,在这种情况下我收到“HTTP/1.1 414 Request-URI Too Long”错误。

经过一些研究,我发现我需要改用“POST”。所以我将其更改为:

xmlhttp.open("POST", "sendmail.php?q=" + str, true);

并且:

$q = $_POST['q'];
echo $q;

但是在使用 POST 时这不会回显任何内容。我该如何修复它,使其像我使用 GET 时一样工作,但它可以处理大量数据?

编辑我现在正在尝试:

function testNewPHP(str){


xmlhttp = new XMLHttpRequest();

str = "q=" + encodeURIComponent(str);

alert (str);

xmlhttp.open("POST","testpost.php", true);
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState == 4){
if(xmlhttp.status == 200){
alert (xmlhttp.responseText);
}
}
};
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(str);

}

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