Kee*_*isk 3 json xmlhttprequest reactjs axios
在 React 应用程序中,我尝试使用以下代码从 AWS S3 下载 .json 文件:
componentDidMount() {
axios.get(`https://amplify-NotRealUrl-dev-333333-deployment.s3.us-east-2.amazonaws.com/rulesSummaryData2.json`)
.then(response => {
console.log("SUCCESS", response);
}, error => {
console.log("ERROR", error);
});
}
Run Code Online (Sandbox Code Playgroud)
在浏览器控制台窗口中,我看到以下错误:
错误错误: XMLHttpRequest.handleError (xhr.js:83) 处的 createError (createError.js:16) 处出现网络错误
JSON 文件对公众广泛开放,没有权限,我可以将 url 放入浏览器中并无需身份验证即可下载。另外,我可以在 Postman 中成功执行 GET。另外,我插入了一个开放的 api GET url,而不是 .json,但它确实返回成功。.json 似乎有问题。不过,我已经看到许多链接显示了与 .json 类似的功能。我缺少一些东西!
附加信息(更新):
无论我使用什么 URL,都会发生此错误。例如,如果我使用 axios.get( https://ThisIsNotAValidURLThisIsNotAValidURLThisIsNotAValidURLThisIsNotAValidUR.json)
我仍然收到完全相同的错误。此外,我使用了另一个基础 React 应用程序,以确保该项目不是原因,但结果相同。
没有明确跟随你。如果你说你可以https://bucket-name.s3.us-east-2.amazonaws.com/rulesSummaryData2.json在邮递员中访问,那么对我来说这看起来像是一个cors问题。
如果您尚未执行此操作,请在 S3 存储桶中配置以下 Cors 策略。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)
参考:
如何将 Cors 配置添加到 S3 存储桶 - https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-cors-configuration.html
| 归档时间: |
|
| 查看次数: |
5929 次 |
| 最近记录: |