当服务器返回HttpStatus 200 OK时,不确定为什么javascript获取调用失败
我有一个SPA客户端应用程序正在对本地主机Web服务器进行REST调用。我使用javascript进行调用,并使用当服务器返回HttpStatus 200 OK时,不确定为什么javascript获取调用失败,javascript,fetch,fetch-api,Javascript,Fetch,Fetch Api,我有一个SPA客户端应用程序正在对本地主机Web服务器进行REST调用。我使用javascript进行调用,并使用fetch()进行调用 我的响应是HttpStatus 200(我可以通过查看XHR请求/响应逐步查看我的Web服务器代码,并使用Chrome开发工具确认这一点) 我正在做一个HTTP POST(到我的web服务器) 响应是Http 200 OK(不是创建的201) 在任何人开始在返回200>的帖子上纠正我之前,这是一个登录/身份验证端点,因此是200,而不是201 那么,有没有办法
fetch()
进行调用
我的响应是HttpStatus 200(我可以通过查看XHR请求/响应逐步查看我的Web服务器代码,并使用Chrome开发工具确认这一点)
我正在做一个HTTP POST(到我的web服务器)
响应是Http 200 OK(不是创建的201)
在任何人开始在返回200>的帖子上纠正我之前,这是一个登录/身份验证端点,因此是200,而不是201
那么,有没有办法让我知道fetch为什么要这么做
更新:所以当我使用Chrome时,响应说:加载响应数据失败
。但是如果我使用(程序)Postman做同样的帖子,那么我会得到一个回复体
这是我的密码
export function authenticateUser(idToken) {
var formData = new FormData();
formData.append('idToken', idToken);
fetch('https://localhost:44387/authentication',
{
method: 'POST',
body: formData
})
.then(handleErrors)
.then(response => console.log("ok"))
.catch(error => console.log(error));
}
export function handleErrors(response) {
if (!response.ok) {
throw Error(response.statusText);
}
return response;
}
编辑#1:
- 根据请求添加了
代码handleErrors
- 在Chrome开发工具中添加了
选项卡Response
CORS
::我的Web服务器上没有CORS
设置
线索:
- 使用
测试我的端点,它100%有效Postman
- @sideshowbarker的评论建议我质疑
CORS
什么是“同源” 如果两个URL具有相同的方案、主机和端口,则它们具有相同的源。(RFC 6454) 这两个URL具有相同的来源:
- -不同领域
- -不同的端口
- -不同的方案
- -不同子域
- 前端/水疗中心:
- 后端/REST端点:
:Scheme
vshttp
该死-答案是https
::我的Web服务器上没有设置CORS
线索:CORS
- 使用
测试我的端点,它100%有效Postman
- @sideshowbarker的评论建议我质疑
CORS
什么是“同源” 如果两个URL具有相同的方案、主机和端口,则它们具有相同的源。(RFC 6454) 这两个URL具有相同的来源:- -不同领域
- -不同的端口
- -不同的方案
- -不同子域
- 前端/水疗中心:
- 后端/REST端点:
:Scheme
vshttp
您能显示更多的代码吗?https
函数中发生了什么?浏览器是否将任何消息记录到devtools控制台?这是一个跨源请求吗?“这不是CORS问题吗?”sideshowbarker不知道这是不是CORS问题。我如何检查/告知?SPA应用=(注:http)handleErrors
server=(注意:https)http://localhost:3000/#
https://localhost:44387/authentication
错误看起来可疑。你确定它包含你认为它包含的内容吗?(例如,您真正要查找的可能是响应。手上的ok
或类似内容)@ippi-hmm。它直接指向第164行。是否进入response.data.ok
?可能我使用的handleErrors
不正确:~(你能显示更多的代码吗?在fetch()
函数中发生了什么?浏览器是否将任何消息记录到devtools控制台?这是一个跨源请求?不是CORS问题?@sideshowbarker不知道这是否是CORS问题。我如何检查/告知?SPA app=(注意:http)handleErrors
server=(注意:https)http://localhost:3000/#
https://localhost:44387/authentication
错误看起来可疑。您确定它包含您认为它包含的内容吗?(例如,您真正要查找的可能是响应。手上的ok
或类似内容)@ippi嗯。它直接指向第164行。是否进入响应。数据。ok
句柄错误
。?可能我使用的
不正确:~(fetch()
- 使用