Vue.js 中 axios 跨域访问错误问题及解决方法
1、假如访问的接口地址为http://www.test.com/apis/index.php (phpapi接口)
2、而开发地址为http://127.0.0.1:8080,当axios发起请求时,出现如下错误:
Failedtoloadhttp://www.test.com/apis/index.php?&act=login:Thevalueofthe'Access-Control-Allow-Origin'headerintheresponsemustnotbethewildcard'*'whentherequest'scredentialsmodeis'include'.Origin'http://127.0.0.1:8080'isthereforenotallowedaccess.ThecredentialsmodeofrequestsinitiatedbytheXMLHttpRequestiscontrolledbythewithCredentialsattribute.
解决方法:
1、修改config/index.js,修改proxytable
proxyTable:{ '/apis':{ target:'http://www.test.com/apis/',//接口地址 changeOrigin:true, pathRewrite:{ '^/apis':''//需要rewrite重写的, } } },
2、重启npmrundev (很重要,否则不生效)
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跨域访问错误问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。