因为我们用的是jsonp,所以,此刻,你首先要做的就是安装jsonp,在终端执行
npm install jsonp --save
因为用到了axios,所以安装它
npm install axios --save
安装好了以后,需要做如下修改
import originJSONP from 'jsonp'
import axios from 'axios'
export function jsonp (url, data, option) {
url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)
return new Promise((resolve, reject) => {
originJSONP(url, option, (err, data) => {
if (!err) {
resolve(data)
} else {
reject(err)
}
})
})
}
function param (data) {
let url = ''
for (let k in data) {
let value = data[k] !== undefined ? data[k] : ''
url += `&${k}=${encodeURIComponent(value)}`
}
return url ? url.substring(1) : ''
}
export function get (url, data, option = null) {
return new Promise((resolve, reject) => {
axios.get(url + '?' + param(data)).then((res) => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
export function post (url, data, option) {
return new Promise((resolve, reject) => {
axios({
url,
data,
method: 'POST',
headers: {
'Content-type': 'multipart/form-data'
}
}).then((res) => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
var express = require('express');
const path = require('path')
const bodyParser = require("body-parser")
var app = express();
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
// 查看列表
app.get('/list', function (req, res) {
res.json(list)
})
// 编辑新增
app.post('/save', function (req, res) {
res.json(save)
})
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
export const url = 'http://192.168.10.121:7500' // 配置API接口地址
export const ERR_OK = 0
export const options = {
param: 'callback'
}
import { url, options } from './index'
import {get, post} from '@/utils/jsonp'
// 获取列表信息
export function getList () {
const _url = url + '/list'
return get(_url, {}, options)
}
// 新增修改
export function Exit ({password, gender, phone, remark, id, email, username}) {
const _url = url + '/save'
return post(_url, {password, gender, phone, remark, id, email, username}, options)
}
npm run jsonp
<template>
<div>
index
div>
template>
<script>
import {getList} from '@/api/remote'
export default {
created () {
this._getList()
},
methods: {
_getList () {
getList().then(res => {
console.log(res.data)
})
}
}
}
script>
这就说明我们的接口通了
<template>
<div>
<table>
<tr>
<th width="10%">编号th>
<th width="15%">姓名th>
<th width="15%">性别th>
<th width="15%">电话th>
<th width="15%">邮箱th>
<th width="10%">角色th>
tr>
<tr v-for="items in list" :key="items.id">
<td>{{items.id}}td>
<td>{{items.username}}td>
<td>{{items.gender}}td>
<td>{{items.phone}}td>
<td>{{items.email}}td>
<td>{{items.remark}}td>
tr>
table>
div>
template>
<script>
import {getList} from '@/api/remote'
export default {
data () {
return {
list: []
}
},
created () {
this._getList()
},
methods: {
_getList () {
getList().then(res => {
console.log(res.data)
this.list = res.data
})
}
}
}
script>
这样,页面就渲染出一个列表了