跨域請求路由配置
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)
}
})