我正在学习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.
})
2条答案
按热度按时间vjrehmav1#
请求preflight
通过传回正确的CORS头来处理选项请求。
然后还要处理post请求,由于API和网站的新CORS标准,这两个都是需要的。
li9yvcax2#
我发现了同样的问题,并通过将
mode: "no-cors"
添加到选项字典中来解决它,如下所示: