【发布时间】:2021-02-08 11:19:42
【问题描述】:
我正在尝试通过 javascript 向本地托管的 php 文件发出发布请求,但似乎 php 文件没有接收到数据或没有显示。 我尝试了各种使用 vardump print_r $_post $_request raw_http_data 打印的方法,但似乎没有任何效果。
代码有什么问题? 网址有问题吗?
这是 javascript 文件:
const rightswipe = (n) =>{
var foo = "me";
var bar = "ft";
var xhr = new XMLHttpRequest();
xhr.addEventListener("readystatechange", function()
{
if(this.readyState === 4)
{
if(this.status==200 || this.status==201)
{
//let newData = JSON.parse(this.responseText);
//console.log(newData);
}
else{
alert("invalid link");
}
}
});
xhr.open("POST", "like.php" , true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send("to_user="+foo+"&from_user="+bar);
};
like.php 是同一文件夹中的文件:
if (array_key_exists('foo', $_POST) && array_key_exists('bar', $_POST)) {
$foo = $_POST['foo'];
$bar = ($_POST['bar']);
// do stuff with params
echo 'Yes, it works!';
} else {
echo 'Invalid parameters!';
}
$_post 和 $_request 也是空的; 和 var_dump($_server["REQUEST_METHOD"]) 返回 "GET" 我在本地使用 xampp 托管该站点,即 apache 和 mysql
【问题讨论】:
-
你在浏览器开发者工具网络面板中查看过请求和响应了吗?
-
也许
rightswipe永远不会被调用 -
@JaromandaX rightswipe 还包含其他 css 更改,因为它们无关紧要,所以我没有在此处包含它们。这些 CSS 更改正在发生,因此我可以向您保证,正在调用 rightwipe。
-
@DamianDziaduch 我在网络部分检查了它,请求方法显示 POST 并且没有给出任何错误
-
错字:
xhr.send("to_user="+foo+"&from_user="+bar);您的密钥被称为to_user和from_user而不是foo和bar(您正在寻找的是:$foo = $_POST['foo'];)
标签: javascript php apache xmlhttprequest http-post