Node.js+express的介面適配get和post並輸出json
阿新 • • 發佈:2019-01-02
var dataSuccess = {
status: '100',
msg: '登入成功',
data: {
userId: '20170113',
userName: 'hgdqstudio',
blog: 'http://hgdqstudio.online'
}
};
var dataError = {
status: '99',
msg: '使用者名稱或密碼錯誤'
};
// 登入介面
router.post('/login',function (req, res, next) {
// 列印post請求的資料內容
console.log(req.body);
console.log(req.body.username);
console.log(req.body.password);
if (req.body.username == "hgdqstudio" && req.body.password == "123456") {
res.end(JSON.stringify(dataSuccess));
} else {
res.end(JSON.stringify(dataError));
}
});
但是這種介面,只能適應post
post
和get
。 顯然上一篇中提到了的
router.get
和router.post
都不能滿足需求。 在express中支援的方式是很多的,具體可以看文件。
我們就需要改造了,用到app.all了。
// 登入介面
router.all('/login',function (req, res, next) {
console.log(req.method);// 列印請求方式
if (req.method == "POST") {
var param = req.body;
} else{
var param = req.query || req.params;
}
console.log(param);
console.log(param.username);
console.log(param.password);
if (param.username == "hgdqstudio" && param.password == "123456") {
res.end(JSON.stringify(dataSuccess));
} else {
res.end(JSON.stringify(dataError));
}
});
改造就很獲取請求方式,飯後獲取請求裡面的引數:
post
請求獲取的引數是在body
裡面,
get
請求獲取的引數是在query
裡面,後面的params
暫未發現有什麼作用。
然後我們就可以在postman裡面測試或是用Node.js.express的get和post輸出json
提到的mui.ajax來測試【我使用的十MUI框架寫的手機端介面】。