JavaScript POST fetch 作为 OPTIONS 发送
Posted
技术标签:
【中文标题】JavaScript POST fetch 作为 OPTIONS 发送【英文标题】:JavaScript POST fetch sends as OPTIONS 【发布时间】:2021-12-27 18:45:02 【问题描述】:我正在学习 javascript,我正在制作一个帐户登录页面作为学习项目。服务器正在使用 Python 的 Flask。 fetch 功能似乎没有像我想要的那样工作。一方面,它发送的是选项请求而不是 POST,即使我指定了 POST。另一件事是服务器没有收到数据,它显示为空白。代码如下:
var content = JSON.stringify('username': username, 'password': password) //username and password are user inputs, I had them print and these work fine.
var response = fetch(url+"/api/login",
method: "POST",
headers:
'Accept': 'application/json',
'Content-Type': 'application/json'
,
body: content
)
.then(response =>
console.log("Success") //this doesn't print.
)
【问题讨论】:
听起来您正在进行跨域调用。它在发布之前进行握手。 ***.com/questions/38375124/… 【参考方案1】:这是一个preflight 请求
通过传回正确的 CORS 标头来处理选项请求。
然后还要处理 post 请求,由于 API 和网站的新 CORS 标准,这两个都是必需的。
【讨论】:
以上是关于JavaScript POST fetch 作为 OPTIONS 发送的主要内容,如果未能解决你的问题,请参考以下文章
$_POST 未从 Javascript 的 Fetch() 中检索数据
javascript fetch()GET&POST(Boilerplate)
javascript 使用fetch API的简单POST请求
使用 javascript fetch api 执行 POST 请求
javascript ajax 调用通过仅使用 POST 方法的 fetch 调用:奇怪的行为是 post 后跟 get plus 再次请求所有资源?