1. 程式人生 > >Node.js+express的介面適配get和post並輸出json

Node.js+express的介面適配get和post並輸出json

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

這一種請求,如果我們希望後臺給的介面支援postget
顯然上一篇中提到了的router.getrouter.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框架寫的手機端介面】。