当我尝试在 Chrome 浏览器上执行此操作时:
fetch('https://jsonplaceholder.typicode.com/users')
.then(response=> response.json())
.then(user=> console.log(user))
最佳答案
正如 @Sergiu Paraschiv 在评论中指出的那样,核心问题是 CORS,我强烈建议阅读他提供的链接。
但是,针对您的具体情况,稍微详细说明一下,尝试在浏览器的“开始”或“无 URL”页面上发出 AJAX 请求...
...不同的浏览器以不同的方式处理此类“主页 AJAX 请求”,因为此类页面没有真实的 URL。
Chrome(显然)将其视为“”的 URL,因此任何 URL 根据定义都会违反 CORS。相比之下,Firefox 似乎忽略了对“主页”发出的请求的 CORS URL 限制。
更一般地说,如果您要在没有客户端的情况下测试 API,我强烈建议您使用独立的请求制作工具,例如 Postman ,因为此类工具将完全绕过 CORS 限制(并且还允许您发出 POST、DELETE 和其他非 GET 请求)。
关于javascript - 当 URL 为空时,为什么 fetch() 请求在 Chrome 控制台中失败? 。但在 Firefox 中运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67403980/