我第一次尝试 Fetch API,但在将POST数据发送到 PHP 服务器时遇到问题。
我正在放弃$.ajax并尝试使用纯 JavaScript 解决方案来与不同的服务器(有时是本地服务器,有时不是)进行通信。现在我试图理解 Fetch API,即使它简单直观,我也偶然发现了一个奇怪且意想不到的问题:
我无法将 JSON 帖子发送到 PHP 服务器
我可以将表单数据发送到本地 PHP
我无法将表单数据发送到 WEB URL PHP
我(显然)可以从上述所有内容中检索数据,但奇怪的是什么也没有到达。通过$_SERVER['REQUEST_METHOD']我可以看到,当使用本地路径时,我按照我的要求得到“POST”,但是当使用 WEB URL 时,它GET由于某种我不明白的原因而发生变化。
url="/";
url="www.something.com";
fetch(url, {
method: 'POST',
body: JSON.stringify({
test: "toast",
})
})
.then(function(response) {
return response.text();
})
.then(function(data) {
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
我期望以可靠且清晰的方式发送和接收数据。没有jquery,没有库等。我只想发送一个JSON {"test":"toast"}并在检查var时在PHP文件中找到它$_POST。
看来本地和网络网址的问题在于这个差异:www.something.com/test => www.something.com/test/index.php。由于某种原因,如果没有index.php,它会拒绝POST数据(但无论如何都会读取回显的信息)。但关于 JSON 的问题仍然存在。
我无法将 JSON 帖子发送到 PHP
我可以将表单数据发送到 PHP
我发现 $_POST 和 $_GET 不能很好地与 Fetch API …