原创:用node.js搭建本地服务模拟接口访问实现数据模拟

前端开发中,数据模拟是必要的,这样就能等后台接口写完,我们直接把接口请求的url地址从本地数据模拟url换成后台真实地址就完成项目了。传参之类的都不用动。

之前网上找了很多类似于mock等感觉都不太实用,下面我的方法,能接受请求传参,然后根据接口报文格式返回一样格式的json数据,不用引用乱七八糟的一堆mock等文件和安装东西,免掉污染上线环境。

/*
* 搭建http服务器,用于处理用户发送的http请求
* 需引入http模块
* */
//第一步,加载http模块,并且创建一个服务对象
var http=require('http');
var sever=http.createServer();
var qs = require('querystring');
sever.on('error',function(){ //错误监控
    console.log('发生错误')
})
//第二步开始服务监听
sever.listen('8888','0.0.0.0')
sever.on('listening',function(){
    console.log('开始监听')
})
//第三步,接受请求,并返回数据,req是接受请求,res是返回数据
sever.on('request',function (req,res) {
    // console.log(req.url);
    // console.log(req)
    res.setHeader("Access-Control-Allow-Origin", "*");
    res.writeHead('200','xb',{
        'content-type':'application/json'  //下面的write解析根据这个content-type来的
    })
    if (req.method.toUpperCase() == 'POST') {
        var postData = "";
        req.addListener("data", function (data) {
            console.log(data)
            postData += data;


        });
        /**
         * 这个是如果数据读取完毕就会执行的监听方法
         */
        req.addListener("end", function () {
            console.log(postData)
            var query = qs.parse(postData);
            console.log(query);
        });
    }
    var data= {
        resultCode: 1,
        content: '<h1>dddddd</h1>'
    }
    res.end(
        JSON.stringify(data)
    )  //返回的数据
    // res.end()//一定要end 否则write的没用。而且要写在最后
})

运行上面的nodejs文件后,你就能访问接口“你电脑的ip地址xxx+:8888”了;如下

$.ajax({
        url:'192.110.110.11:8888',
        dataType:'json',
        // jsonp:'callbackparam',
        type:'POST',
        data:{
            xb:"222",
            liling:"11"
        },
        success:function(data){
            console.log(data)
        }
    })

运行后打印出的data就是前面服务返回的

data= {
resultCode: 1,
content: '<h1>dddddd</h1>'
}
如有什么疑问或对您有帮助欢迎打赏后联系

 

 

转载于:https://www.cnblogs.com/bing1991/p/8710013.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值