Vue.js 中 axios 跨域訪問錯誤問題及解決方法
1、假如訪問的接口地址為 http://www.test.com/apis/index.php (php api 接口)
2、而開發(fā)地址為http://127.0.0.1:8080,當axios發(fā)起請求時,出現(xiàn)如下錯誤:
Failed to load http://www.test.com/apis/index.php?&act=login: The value of the 'Access-Control-Allow-Origin' headerin the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'http://127.0.0.1:8080' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.
解決方法:
1、修改config/index.js, 修改 proxytable
proxyTable: { '/apis': { target: 'http://www.test.com/apis/', // 接口地址 changeOrigin: true, pathRewrite: { '^/apis': '' //需要rewrite重寫的, } } },
2、重啟 npm run dev (很重要,否則不生效)
3、訪問接口(訪問時通過代理轉發(fā)的,有點類似APACHE的urlrewrite,不需要完整http://www.test.com網(wǎng)址。)
this.$api.get('/apis/index.php?act=login', { "act": "login" }, response => { //success },error => { //error } );
大功告成,成功解決錯誤,另外:PHP端不需要做任何的header設置,網(wǎng)上很多教程胡說八道,根本不能實現(xiàn)跨域。
總結
以上所述是小編給大家介紹的Vue.js 中 axios 跨域訪問錯誤問題及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
詳解vue中使用axios對同一個接口連續(xù)請求導致返回數(shù)據(jù)混亂的問題
這篇文章主要介紹了詳解vue中使用axios對同一個接口連續(xù)請求導致返回數(shù)據(jù)混亂的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11Vue實現(xiàn)用戶自定義字段顯示數(shù)據(jù)的方法
今天小編就為大家分享一篇Vue實現(xiàn)用戶自定義字段顯示數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08如何解決Vue3組合式API模式下動態(tài)組件不渲染問題
這篇文章主要介紹了如何解決Vue3組合式API模式下動態(tài)組件不渲染問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教<BR>2024-03-03vue3+vite項目配置ESlint、pritter插件過程
這篇文章主要介紹了vue3+vite項目配置ESlint、pritter插件過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08