reactjs - 无法使用 axios 和 ReactJS 执行获取请求

我正在使用 ReactJS 开发 Web 应用程序,我想使用 axios 执行 GET 请求。首先,我尝试使用以下行:

axios.get("http://localhost:8080/MyWebApplication/MyServlet").then(data=>{
    //Code
});

但是我得到了以下错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8080/WebApplication1/NewServlet. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

后来我尝试加个header来解决问题

axios.get("http://localhost:8080/WebApplication1/NewServlet", {headers:{'Access-Control-Allow-Origin': '*'}}).then(data=>{
    //code
});

但问题依然存在。怎么了?

最佳答案

crossDomain 的默认值如下:

同域请求为false,跨域请求为true

如果您正在发出相同域的 json 请求,并且您的站点可能会将请求重定向到另一个域以提供响应(通过 HTTP 3XX),那么您应该将 crossDomain 属性设置为 true,以便您的站点可以读取响应调用脚本。

这为您提供了在发出同源请求时检索 JSON 的优势,以及在发出跨源请求时的 JSONP 功能。如果 CORS 在您重定向到的域上处于事件状态,那么您可以在请求选项中设置 jsonp: false。

 axios.get("http://localhost:8080/WebApplication1/NewServlet",{ crossDomain: true }).then(data=>{
    //Logic of your code
 });

https://stackoverflow.com/questions/50444571/

相关文章:

python - 如何永远运行异步函数(Python)

android - 使用限制查询 Firebase 数据库

intellij-idea - IntelliJ IDEA - 在路径中查找被锁定在另一个窗口监视器

ansible - 例如,如何限制 Ansible 的设置模块 (gather_facts) 仅检索

regex - 为什么我不能在 clojure 中的 "|"拆分

wordpress - 使用 AWS RDS 和我自己的数据库哪个最便宜?

python - 使用 bigquery tables GET api 获取表的最后修改日期

java - Spring boot ConditionalOnBean 注解

ruby-on-rails - 提交 Rails 的 credentials.yml.enc 文件是

python - 自定义转换器和 GridSearch - 管道中的 ValueError