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

通过“https://***”从源站访问XMLHttpRequesthttp://localhost:3000'已被CORS策略阻止

郭俊人
2023-03-14

我正试图用axios发送请求,但我有CORS问题,这是我的nuxt.config.js

plugins: [
"@/plugins/axios/apiService.js",
],
  modules: [
    '@nuxtjs/axios',
    '@nuxtjs/proxy',
  ],
  
  axios: {
    baseURL: process.env.API_URL,
    proxy: true,
    credentials: false
  },
  proxy: {
    '/api': {
      target: 'https://dev.mobit.ir/api/web/v4',
      pathRewrite: {
        '^/api' : '/'
        },
      changeOrigin: true,
      }
  },

这是我的服务

import axios from "axios";
import { API_URL} from "./config";

export const axiosInstance = axios.create({
  headers: {
    Accept: 'application/json',
  }
});

//Set base url for axios requests
axiosInstance.defaults.baseURL = API_URL;

export const ApiService = {
  
  //resource: api address
  get(resource, params = "") {
    return axiosInstance.get(resource, {params}).catch(error => {
      throw new Error(`[RWV] ApiService ${error}`);
    });
  },

  post(resource, params) {
    return axiosInstance.post(`${resource}`, params);
  }
};

我试图根据nuxt文档设置代理,但如果我使用类似https://cors-anywhere.herokuapp.com/ 它会起作用,但nuxt代理为什么不起作用呢?我认为这不是正确的方法。我必须使用cookie还是中间件?

共有2个答案

岳玉书
2023-03-14

在这种类型的CORS中,使用像下面链接这样的扩展可以解决问题,直到在主域中发布它为止

https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf?hl=en#:~:text=Allow CORS:Access-Control-Allow-Origin允许您,默认情况下(在JavaScript API中)。

翟泰
2023-03-14

根据下面的链接,我们应该在模块的数组中使用一个数组来定义代理,如下所示:

['@nuxtjs/proxy',{pathRewrite:{'^/api':'/api/web/v4'}}]

链接阅读更多信息:https://github.com/nuxt-community/proxy-module

 类似资料:
  • 有点晚了,但我记得我最终通过在后端的配置中设置来解决这个问题。 完全偶然地,我注意到如果我在前端的客户端中设置,一切都正常工作。然而,将其切换到不断抛出错误。然后我把两个和两个放在一起,在后端设置,一切都按预期工作。 我的应用程序使用cookie,所以必须这样做。 这可能是重复的,但我没有找到与我的问题相关的线索。 我正在进行以下API调用: 这会引发一个错误: 当我将我的应用程序部署到Herok

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

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

  • 我该如何解决这个问题? “获取”的访问权限https://www.cloudflare.com/cdn-cgi/trace“从起源”http://localhost:3000'已被CORS策略阻止:飞行前响应中的访问控制允许标头不允许请求标头字段内容类型。

  • 交叉起源没有发生,被CORS策略阻止。 我使用的是Windows系统。 在文件中: 在文件中: 我在浏览器控制台中遇到此错误: CORS策略阻止了从http://localhost:1111/api/v1/employees/createhttp://localhost:4200对XMLHttpRequest的访问:对预飞行请求的响应没有通过权限改造检查:请求的资源上没有访问控制允许起源标头。<-

  • CORS策略已阻止CORS从源站对X处XMLHttpRequest的访问:对飞行前请求的响应未通过访问控制检查:它没有HTTP ok状态。 嗨,我正在努力解决我的问题与CORS拒绝我的Vue组件与外部API与axios的交互,因为它返回此错误。我尝试了使用Barryvdh的Cors头支持和制作中间件和自定义路由。这根本行不通。Barryvdh回购中README. md中提到的一切都已经完成,不幸的