设计GET接口
1.以VueResource为工具发出GET请求,接收数据
postRoomInfo() {
this.$http
.get("http://[apiAdress]/getMsg").then(res => {
console.log(res.body);
});
}
2.Node服务器端接收GET请求,发送数据
const express = require('express');
var server = express();
server.listen(8080);
server.get('/getMsg', (req, res)=>{
res.send('ok').end;
})
设计POST接口
1.以VueResource为工具发出POST请求,发送数据
postRoomInfo() {
this.$http
.post("postRoomInfo", { data_1: 'msg_1', data_2: this.'msg_2'})
.then(res => {
console.log(res.body);
});
}
2.Node服务器端接收POST请求,接收数据,并给出返回结果
由于作为API接口使用而接受的POST请求,通常为 Request Payload
形式的,其传递的的类型为 application/json
这里注意区分以表单形式提交的数据为
Form Data
形式的,其传递类型为application/x-www-form-urlencoded
如果要用 body-paser
处理这些post到服务器上的信息,则需要对 body-parser
进行如下的设置
// 引入body-parser,使用body-parser来处理post数据
const express = require('express');
const bodyParser = require('body-parser');
var server = express();
server.listen(8080);
// 用来支持表单类数据的接受
server.use(bodyParser.urlencoded());
// 用于支持 Request Payload 数据的接收
server.use(bodyParser.json({limit: '1mb'}));
server.use(bodyParser.urlencoded({
extended: true
}));
// 接收POST请求,并在控制台输出接收到的信息,并返回 “OK”
server.post('/postRoomInfo', (req, res) => {
console.log(req.body);
res.send('ok');
})
还有一种原生支持的方法,无需 body-parser
这里要注意的是,
Request Payload
是数据流类型的,所以需要监听data
事件来获取数据,最后拼接出POST信息
server.post('/postRoomInfo', (req, res) => {
console.log(req.body);
var str = "";
req.on("data", function (chunk) {
str += chunk
})
req.on("end", function () {
console.log(str);
res.send('ok');
})
}