【发布时间】:2021-03-25 04:18:01
【问题描述】:
我有这个获取方法
loginbutton.onclick = (e)=> {
e.preventDefault();
var creds = {
login: login.value,
pass: pass.value
}
fetch('functions/asklogin.php', {
method: "POST",
header: {"Content-type": "application/json; charset=UTF-8"},
body: JSON.stringify(creds)
})
.then(resp => resp.text())
.then(data => console.log(data));
}
当我点击时,我的 xhr 身体已经吃饱了:
但是,如果我尝试从我的 asklogin.php 中回显这些参数
echo "no".$_POST['pass'].":".$_POST['login'];
我得到的只是no:
感谢您的帮助
【问题讨论】:
-
var_dump($_POST)的结果是什么? -
这应该可以帮助你 - stackoverflow.com/q/8893574/4287624
-
@Richard .. 简而言之,要让
$_POST工作,您需要将数据作为表单数据连同相应的内容类型一起发送。如果你发送json数据那么你需要使用php://input来读取发布的数据。 -
对不起,伙计们,我应该提到我知道流是提要(但我认为它是明确的,因为我已经发布了它的屏幕截图)。无论如何,谢谢@HymnZzy 是的,但是如何在 fetch api 中将数据作为经典形式传递?我在 api 文档中找不到正确的语法
-
你可以像 HymnZzy 所说的那样做,但仅仅改变 PHP 读取数据的方式可能更简单(而且不那么脆弱)。
标签: javascript php fetch-api