使用vue-cli构建vue项目(vueapp)。html
npm install -g vue-cli(安装,安装过的就不用了) vue init webpack vueapp
import axios from 'axios' var url="http://localhost:3000" //express服务器的地址 axios.get(url+'/product') //放数据的接口 .then(function (response) { //收到的数据 console.log(response); console.log(response.data); //展现数据(看看是否拿到,和数据长啥样) var nodeData=response.data; }) .catch(function (error) { console.log(error); });
axios没安装的记得装一下。(安装不细说)前端
使用express构建服务器: vue
新建个myapp放express npm install express
在(routes文件夹中)建一个product,js接口node
var express = require('express'); //使用express var router = express.Router(); //放数据 /* GET home page. */ router.get('/', function (req, res, next) { var data = { code: 0, data: { name: 'aaa', pwd: '123' }, isSuccess: true, msg: "请求成功" } res.json(data); }); module.exports = router;
app.js(创建接口存放数据)webpack
var productRouter = require('./routes/product'); app.use('/product', productRouter);
跨域:ios
1.端口不一样 http://localhost:3000和http://localhost:8080web
2.网址不一样 www.baidu.com和www.aiqiyi.comajax
3.ip和网址不一样 http://localhost:3000和http://127.0.0.1vue-cli
反正除非同个网址里面,只有目录不一样,才不用跨域。数据库
开始解决!!
express>>>app.js
//跨域问题解决方面 const cors = require('cors'); app.use(cors({ origin:['http://localhost:8080'], methods:['GET','POST'], })); //跨域问题解决方面 app.all('*',function (req, res, next) { res.header('Access-Control-Allow-Origin', 'http://localhost:8080'); res.header('Access-Control-Allow-Headers', 'Content-Type'); res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS'); next(); });
cors须要安装,是一个依赖。
结果: 服务器(express):3000接口数据
搞定
原文出处:https://www.cnblogs.com/cth0/p/11666214.html