您好,登錄后才能下訂單哦!
1、假如訪問的接口地址為 http://www.test.com/apis/index.php (php api 接口)
2、而開發地址為http://127.0.0.1:8080,當axios發起請求時,出現如下錯誤:
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、訪問接口(訪問時通過代理轉發的,有點類似APACHE的urlrewrite,不需要完整http://www.test.com網址。)
this.$api.get('/apis/index.php?act=login', { "act": "login" }, response => { //success },error => { //error } );
大功告成,成功解決錯誤,另外:PHP端不需要做任何的header設置,網上很多教程胡說八道,根本不能實現跨域。
總結
以上所述是小編給大家介紹的Vue.js 中 axios 跨域訪問錯誤問題及解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。