NodeJS作为中间件请求后端-返回前端

64 阅读1分钟

1.下载依赖

//下载express框架
npm i express --save
//下载xml2js解析工具
npm i xml2js --save

2、首先使用post向服务器传递带参请求(本章使用post)

const express = require('express');
//引入xml解析工具
var parseString = require('xml2js').parseString;
//引入http模块
var http = require("http");

const app = express();
app.get("/user/login", (req, res) => {
    //将要发送的内容
    let { loginName, password } = req.query;//获取gei参数
    var data = {
        loginName,
        password
    };
    data = JSON.stringify(data);

    //描述将要发送的请求参数
    var opt = {
        host: '168.168.xxx.xxx',//IP
        port: 8099,//端口;非必须,默认80
        method: 'POST',//请求方式
        path: `/api/auth/user/login`,//接口地址
        headers: {
            "Content-Type": 'application/json',//后台接受数据必须条件
            "Content-Length": data.length
        }
    }

    var request = http.request(opt, function (res) {
        console.log("response: " + res.statusCode);
        var body = '';
        res.on('data', function (data) {//事件在数据到达时被触发
            body += data;
        }).on('end', function () {//请求结束时触发
            console.log(body)//此处我请求回来的是xml格式数据,根据资料一般是json
            
            //因为是xml格式我在这里需要用到xml2js去解析处理
            parseString(body, function (err, result) {
                console.log(result);//得到后台的json数据
                resq.send(result);//返回结果
            });
        });
    }).on('error', function (e) {//发生错误是触发
        console.log("error: " + e.message);
          resq.send(e.message);//返回结果
    })
    request.write(data);
    request.end();
})

//创建一个服务
app.listen(3000, () => {
    console.log("服务器已启动:localhost:3000")
})

6、前端调用接口即可拿到后端返回值

http://localhost:3000/user/login?loginName=zhangsan&password=123456