vue axios调用json接口跨域。

我设置withCredentials: true 但是还是报跨域的错,我就不知道还有哪儿不对了。

阅读 9k
9 个回答

假如后端没配置好CORS的话
可以加个Chrome扩展(下面这是扩展名,不是名值对...)
axios该怎么写就怎么写,不用去改动

Allow-Control-Allow-Origin: *

clipboard.png

当你存在跨域请求的时候,右上角的CORS图标会变成绿色

自己的开发环境没问题,不过后面到生产环境肯定要后端把跨域配置好的

跨域要在后端设置

需要在服务器配置CORS

如果是开发环境下,可以设置 proxyTable 跨域请求

proxyTable: {
      '/api': {
        target: 'http://api.xxx.cn',
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/'
        }
      }

使用:

    axios.get('api/url')
        .then(function(data){
            //data
        })

如果无法对服务端进行操作的话,可以通过本地代理的方式,在webpack的配置文件中设置代理的方式来实现有两种方式

  1. 楼上的那种方式
  2. 通过第三方设置,参考https://segmentfault.com/q/10...

开发的时候加上代理即可

新手上路,请多包涵

开发环境可以用prozyTable,生产环境下后台设置就可以的

后端设置允许跨域访问。
同时在请求的时候加上:

headers: {
                'X-Requested-With': 'XMLHttpRequest',
                'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
            }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏