当前位置: 首页 > 知识库问答 >
问题:

如何修复“对XMLHttpRequest的访问已被CORS策略阻止”重定向对于飞行前请求只允许一条路由

左丘子平
2023-03-14

用于laravel和前端的CORS插件我使用Axios调用REST api

我得到了这个错误,从来源“http://localhost:8080”访问“https://xx.xxxx.xx”处的XMLHttpRequest已被CORS策略阻止:对预飞行请求的响应未通过访问控制检查:预飞行请求不允许重定向。

this is for a vuejs axios setup  **main.js**
axios.defaults.baseURL = process.env.BASE_URL;
axios.defaults.headers.get['Accepts'] = 'application/json';
axios.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
axios.defaults.headers.common['Access-Control-Allow-Headers'] = 'Origin, X-Requested-With, Content-Type, Accept';

  **content.vue file**

  this.loading = true;
      var companyId = this.$route.params.cid;
      var userId = this.$route.params.uid;
      const thisVue = this;
      var formData = new FormData();

  let data = {};

  formData.append("subject", this.title);
  formData.append("content", this.content);
  formData.append("posting_article_url", this.blog_link);
  formData.append("recruitment_tension", this.sel_recruitment_tension);
  formData.append("why_hire_engineer", this.sel_company_hire_engineer);
  formData.append("technique_skill", this.requiredTechniqueSkill);
  formData.append("better_technique_skill",this.betterTechniqueSkillIfThereIs);
  formData.append("personality", this.requiredPersonality);
  formData.append("any_request", this.anyRequest);
  formData.append("location", this.location);
  formData.append("supplement_time", this.supplement_time);
  formData.append("supplement_contract", this.supplement_contract);
  formData.append("en_benefits", this.en_benefits);
  formData.append("recruit_role", this.recruit_role);
  formData.append("how_to_proceed", this.how_to_proceed);
  formData.append("current_structure", this.current_structure);
  if (this.selectedSkill.length > 0)
  {
    let selectedSkills = this.selectedSkill
    .filter(obj => {
      return  obj.id;
    })
    .map(item => {
      return item.id;
    });
    formData.append("skill_keyword", selectedSkills);
  }
  if (this.imageBlob != "") {
    formData.append("image", this.imageBlob, "temp.png");
  }
  for (var i = 0; i < this.sel_schedule.length; i++) {
    formData.append("freelance_type[" + i + "]", this.sel_schedule[i])
  }
  for (var i = 0; i < this.sel_type_of_contract.length; i++) {
    formData.append("contract_type[" + i + "]", this.sel_type_of_contract[i])
  }
    this.loading = false;
    $('html, body').animate({scrollTop:300}, 'slow');
  } else {
     axios
    .post(
      "/xx/xxx/?token=" + localStorage.getItem("token"),
      formData,
      {
        headers: [
            { "X-localization": localStorage.getItem("lan") },
            { "Access-Control-Allow-Origin": '*' },
            { "Access-Control-Allow-Headers": 'Origin, X-Requested-With, Content-Type, Accept '},
            { "Access-Control-Allow-Methods": "POST, GET, PUT, OPTIONS, DELETE" },
            { "Access-Control-Max-Age": 3600 }
          ]
      }
    )
    .then(res => {
      if (!res.data.result) {
         if (res.data[0]) {
          this.$toaster.error(res.data[0]);
          this.$store.dispatch("logout");
        }
        if (res.data.errors) {
            for (var i = 0; i < res.data.errors.length; i++) {
              this.$toaster.error(res.data.errors[i].message);
            }
        }
        this.loading = false;
      } else {
        this.$toaster.success(thisVue.$t("success_recruit_add"));
      }
    })
    .catch(() => {
      this.$toaster.error(thisVue.$t("err_network"));
    });
  }

错误只发生一条路由,其余的都在工作。也在做邮递员

共有1个答案

漆雕奇逸
2023-03-14

>

  • 转到google extension并搜索Allow-Control-Allow-Origin。
  • 现在将其添加到chrome并启用。
  • 将https://localhost添加到它的设置中,如屏幕快照:

    现在关闭所有的chrome浏览器,打开CMD。然后运行followin命令:

    “C:\程序文件(x86)\google\chrome\application\chrome.exe”--允许-file-access from-Files--禁用-web-security--用户-data-dir--禁用-features=crossitedocumentblockingifisolating

    >

  • 要在internet explorer中禁用cors策略,请转到internet选项>安全性>internet并取消选中启用保护模式。
  • 然后单击custom level,并在杂项下启用跨域访问数据源,如下图所示。对于Internet选项>security>Local Intranet遵循相同的过程。

    希望它能解决你的问题。

  •  类似资料:
    • 当我尝试在角7网络应用程序中执行补丁请求时,我遇到了一个问题。在我的后端,我有: 在我的前端服务中,我: 错误是: 我能做什么?谢谢

    • 我已经创建了一个应用程序,使用角和springboot进行Spring安全的基本身份验证,但我得到401错误...我是springboot新手 “从源'http://localhost:4200'访问'http://localhost:8080/hello-world/path-variable/MSD'的XMLHttpRequest已被CORS策略阻止:对预检请求的响应未通过访问控制检查:它没有

    • 我试图用javascript演示一个api调用,以获得Json结果。以下是我所做的: 但是当我运行它时,我得到了一个错误: CORS策略阻止从http://127.0.0.1:8080/activiti-rest/service/form/form-data?taskId=21159http://localhost访问XMLHttpRequest:对预试请求的响应不通过权限改造检查:请求的资源上不

    • 我有一个。NET核心应用程序,它有一个REST API被一个角客户机使用,但遇到了CORS问题。 但仍在客户端(运行在本地端口4200上)中获取错误: CORS策略阻止从来源“HTTP://localhost:4200”访问位于“HTTP://localhost/myapi/api/table”的XMLHttpRequest:对飞行前请求的响应没有通过访问控制检查:它没有HTTP ok状态。

    • 请不要将此标记为重复。我已经阅读了关于堆栈溢出的每一个相关答案,并且还没有找到这个问题的明确解决方案。 我现在正在使用带有axios的vue服务器来尝试从https://coinmarketcap.com.获取数据并显示它。问题是,我在chrome控制台上收到一条错误消息: 从https://api.coinmarketcap.com/v1/ticker到https://api.coinmarke

    • 我使用从使用API的ReactJS发送数据,我得到一个错误: 以下是错误: CORS策略已阻止从来源“http://localhost/2019/EURDU/user_controllers/userregistercontroller/userregistration”访问位于“http://localhost:3000”的XMLHttpRequest:飞行前响应中的access-control