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)
      }
    })

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章