angular.js - ionic2 瀏覽器跨域問題
問題描述
ionic2項(xiàng)目從Localhost向遠(yuǎn)程服務(wù)器提交Post請(qǐng)求,在真機(jī)中可以返回正確的數(shù)據(jù),但是在Chrome中遇到了跨域的問題,查了些資料,配置了一下服務(wù)端的Access-Control-Allow,但是沒效果,誰能看一下嗎,下面是報(bào)錯(cuò)和代碼。


問題解答
回答1:這個(gè)坑我也遇到過,整個(gè)過程我都寫在我的博客里了:http://www.haoguangbo.com/arc...
簡單來說,因?yàn)檎鏅C(jī)里網(wǎng)頁的訪問走的是file://協(xié)議,而非http://或https://,因此不會(huì)出現(xiàn)跨域問題,但是瀏覽器里開發(fā)調(diào)試的時(shí)候,由于實(shí)際上是ionic的CLI在本地跑了一個(gè)小服務(wù)器,網(wǎng)頁等資源都是通過http加載的,就會(huì)出現(xiàn)跨域問題。解決這個(gè)其實(shí)很簡單,后端服務(wù)器不需要做任何處理,只需要在ionic的配置文件(ionic.config.js)里加上proxy這個(gè)字段,如下所示:
{ 'name': 'appname', 'email': '', 'app_id': '', 'proxies': [ { 'path': '/api', 'proxyUrl': 'https://api.instagram.com/api' } ]}
然后,在想訪問https://api.instagram.com/api/xxx的時(shí)候,就改成訪問/api/xxx,ionic會(huì)自動(dòng)把以http://localhost:8000/api開頭的請(qǐng)求都轉(zhuǎn)發(fā)到https://api.instagram.com/api,就像shadowsocks一樣。最后重新ionic serve重啟一下ionic就可以了。這個(gè)問題,ionic團(tuán)隊(duì)真應(yīng)該寫到官方文檔里,實(shí)在是坑了太多的人了。希望能幫到題主。
回答2:angular設(shè)置了CROS沒有?
$httpProvider.defaults.withCredentials = true;
相關(guān)文章:
1. node.js - nodejs+express+vue2. javascript - 我的站點(diǎn)貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?3. java - web端百度網(wǎng)盤的一個(gè)操作為什么要分兩次請(qǐng)求服務(wù)器, 有什么好處嗎4. 數(shù)據(jù)庫 - Mysql的存儲(chǔ)過程真的是個(gè)坑!求助下面的存儲(chǔ)過程哪里錯(cuò)啦,實(shí)在是找不到哪里的問題了。5. javascript - 如何獲取未來元素的父元素在頁面中所有相同元素中是第幾個(gè)?6. python - 如何把152753這個(gè)字符串轉(zhuǎn)變成時(shí)間格式15:27:537. 使用mysql命令行連接遠(yuǎn)程數(shù)據(jù)庫host跳轉(zhuǎn)8. javascript - onclick事件點(diǎn)擊不起作用9. javascript - webpack-dev-server和webpack沖突嗎10. python 字符串匹配問題

網(wǎng)公網(wǎng)安備