vue本地和生产跨域请求,跨域请求Uncaught SyntaxError: Unexpected token错误

跨域请求路由配置

    proxyTable: {
      '/baiduApi': {  //前缀匹配
        target: 'http://api.map.baidu.com', //接口域名
        changeOrigin: true,  //是否跨域
        secure: false,  //https需要设置为true
        pathRewrite: {
          '^/baiduApi': '/',  //将url中baiduApi替换为/
        }
      }
    },

本地环境重启项目就能访问,在生产环境需要配置nginx中server,否则会出现404错误

^~ /baiduApi/表示匹配前缀是baiduApi的请求

proxy_pass的结尾有/, 则会把/baiduApi/*后面的路径直接拼接到后面,即移除baiduApi

    location ^~ /baiduApi/ {
        proxy_pass https://api.map.baidu.com/;
    }

请求出现Uncaught SyntaxError: Unexpected token错误,设置dataType为jsonp即可解决

    $.ajax({
      url:'/baiduApi/geocoder/v2/?output=json&ak=ak&address=xx',
      type:'get',
      dataType:'jsonp',
      success:function(data){
        console.log('success:'+data)
      },
      error:function(error){
        console.log(error)
      }
    })

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值