在启动vue项目的时候报这个错误
那么就是违背了同源策略
同源策略:就是端口号、主机名、协议名都要相同
解决方法如下
App.vue代码
<template> <div> <button @click="getStudents">获取学生信息</button> </div></template>
<script>
import axios from 'axios';
export default { name: "App", methods:{ getStudents(){ axios.get('http://localhost:8080/test.txt').then( response =>{
console.log('请求成功',response.data) },
error =>{ console.log('请求失败',error.message) } ) } }};
</script>
服务器的代码 npmnode.js的代码
//require表示引包,引包就是引用自己的一个特殊功能
var http = require("http");
var url = require("url");
var server = http.createServer(function(req,res){ //得到查询部分,由于写了true,那么就是一个对象 var queryObj = url.parse(req.url,true).query; var name = queryObj.name; var age = queryObj.age; var sex = queryObj.sex; res.writeHead(200,{"Content-Type":"text/html;charset=UTF-8"}); res.end("服务器收到了表单请求" + name + age + sex);
});
//运行服务器,监听3000端口(端口号可以任改)
server.listen(5000,"127.0.0.1");
// 终端打印如下信息
console.log('Server running at http://127.0.0.1:5000/')
在vue.config.js中配置一下这段代码就可以解决跨域问题
// 开启代理服务器
devServer:{
proxy:'http://localhost:5000'
}