浏览器没有响应,但在邮递员中得到 401

Posted

技术标签:

【中文标题】浏览器没有响应,但在邮递员中得到 401【英文标题】:No response in browser but getting 401 in postman 【发布时间】:2021-03-10 19:43:13 【问题描述】:

我正在使用 JWT 调用 API。当令牌过期或发送无效令牌时,我在邮递员中收到 401,但是当我在浏览器中执行此操作时,我收到“网络错误”。 并且在令牌有效时起作用。

我使用 axios 调用 API,error.response 未定义。当我在catch 中对错误对象进行字符串化时,我看到如下内容:


    message :   'Network Error',
    name    :   'Error',
    stack   :   'Error: Network Error\n    at createError (webpack-internal:///./node_modules/axios/lib/core/createError.js:16:15)\n    at XMLHttpRequest.handleError (webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:83:14)'
    

我在 OPTIONS 请求中得到 200,但在主要的 GET 请求中出现上述错误。这可能是因为 CORS。但我不知道要改变什么。 Access-Control-Allow-Origins*

我不明白为什么我没有在浏览器中得到 401。谁能告诉我如何解决这个问题?

网络标签的屏幕截图:

选项:

【问题讨论】:

发布发出请求的代码和响应该请求的代码怎么样? 你需要在这里发布一些代码。仅仅拥有请求屏幕截图是不行的。 【参考方案1】:

要修复它,请尝试添加其他跨域资源共享 (CORS) 标头。检查他们在 https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

【讨论】:

【参考方案2】:

我认为您实际上没有错误。只是 axios 默认会抛出所有 4xx 响应。请尝试以下操作:

axios.get("...",  validateStatus(status)  return true;  )

【讨论】:

【参考方案3】:

您的服务器可能未将 Access-Control-Allow-Credentials 设置为 true 以允许授权用户进行原始访问。

【讨论】:

设置为真 @Abhi developer.mozilla.org/en-US/docs/Web/HTTP/CORS

以上是关于浏览器没有响应,但在邮递员中得到 401的主要内容,如果未能解决你的问题,请参考以下文章

基本身份验证应在邮递员中响应 500(授权),但 401 Unauthorized 可以正常工作。使用 ktor intellij mongodb

邮递员使用 JWT 进行授权调用时无法获得任何响应

连接本地主机(桌面)失败[关闭]

从 vuejs 客户端向 oauth/token 发送 POST 请求时的 401 响应

通过邮递员从 Azure 应用服务验证令牌返回 401

Node JS 正在运行但没有响应。工作,但随后定期停止响应