vue express将GET替换为POST
我用express和mysql创建了一个Vue应用程序。问题是我需要使用POST而不是GET(当前正在工作) 快递:vue express将GET替换为POST,express,vue.js,Express,Vue.js,我用express和mysql创建了一个Vue应用程序。问题是我需要使用POST而不是GET(当前正在工作) 快递: const express = require('express'); const cors = require('cors'); const bodyParser = require('body-parser'); const morgan = require('morgan'); const app = express(); app.use(morgan('tiny'))
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const morgan = require('morgan');
const app = express();
app.use(morgan('tiny'));
app.use(cors());
app.use(bodyParser.json());
var data = result; //receive result from database
app.get('/data', (req, res) => { //send data to client
res.writeHead(200, {'Content-Type':'application/json'});
res.write(JSON.stringify(data));
return res.end();
});
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`listening on ${port}`);
});
Vue组件:
const API_URL = "http://localhost:3000/data"
export default {
data() {
return{
myJson: []
}
},
beforeCreate() { //receive data from the server
fetch(API_URL)
.then(response => response.json())
.then(result => {
this.myJson = result //save data in the variable
})
}
}
main.js
import Vue from 'vue'
import App from './App.vue'
import './registerServiceWorker'
import router from './router'
import store from './store'
Vue.config.productionTip = false
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
我需要使用POST,因为即使在刷新之后,页面也不会更新myJson变量。我到处搜索,没有找到办法。我解决了axios的问题 快车
app.post('/data', (req, res) => { //here I just change get to post
res.writeHead(200, {'Content-Type':'application/json'});
res.write(JSON.stringify(data));
return res.end();
});
Vue组件
import axios from 'axios' //I import axios after doing npm install
axios.post(API_URL) //I just change fetch to axios.post
.then(result => {
this.myJson = result.data //Here I add .data
})
编辑:因此我发现问题在于我在请求之外进行查询:
var data = result; // <----- **WRONG**
app.post('/data', (req, res) => { //send data to client
var data = result; // <----- **RIGHT**
res.writeHead(200, {'Content-Type':'application/json'});
res.write(JSON.stringify(data));
return res.end();
});
var数据=结果;//{//向客户端发送数据
var数据=结果//