在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數(shù)據(jù)庫  HTML/ vue項目訪問后臺接口跨域問題

vue項目訪問后臺接口跨域問題

問題描述

vue項目 axios請求后臺接口,用webpack代理解決跨域問題,報404

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

vue項目基于 vue-admin-tempalte搭建
webpack 4.x
vue 2.0

相關(guān)代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)
config/index.js文件

proxyTable: {
    '/api': {
        target: 'http://127.0.0.1:9000',
        pathRewrite: {'^/api' : ''}
    }
}

config/dev.env.js文件
(此文件為模板寫法,用vue-admin-tempalte的小伙伴可參考,此問題中可忽略)

module.exports = merge(prodEnv, {
    NODE_ENV: '"development"',
    BASE_API: '"/"'
})

api請求文件

export function fetchList() {
    return request({
        url: '/api/deeplearning/test',
        method: 'get'
    })
}

實際看到的錯誤信息又是什么?

從api請求中可以看到,url為 /api/deeplearning/test,通過proxyTable設(shè)置可以完成代理轉(zhuǎn)發(fā),
將去掉前綴 /api 從而重寫url,目前在瀏覽器中F12看到的請求 為
http://localhost:8080/deeplearning/test/,8080是我的vue項目端口,其中已經(jīng)過濾掉了/api,說明已經(jīng)走了proxyTable配置,但是依然報 404,而后端接口可以正常訪問,
訪問地址為http://127.0.0.1:9000/deeplearning/test/,現(xiàn)在疑問有:
1.在這種已經(jīng)實現(xiàn)url重寫的情況下還可能是代理配置的問題嗎?
2.如果代理配置沒問題,那么該如何定位這個問題呢,是否和axios有關(guān)?

期待感謝大家解惑 !

回答
編輯回答
幼梔

你和后臺是一個局域網(wǎng)的話,先ping一下他的ip,看看通不通,再把你那個請求的路徑放到瀏覽器直接打開,報405接口是通的,跨域是他后臺沒有設(shè)置請求頭,報403是網(wǎng)關(guān)沒穿透,需后臺設(shè)置,還報404的話是他的ip根本不通,配置完代理記得重啟項目

2017年6月7日 20:42
編輯回答
吃藕丑

配置代理 重新run dev一下 好吧

2017年10月21日 14:22