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

前端开发中,数据模拟是必要的,这样就能等后台接口写完,我们直接把接口请求的url地址从本地数据模拟url换成后台真实地址就完成项目了。传参之类的都不用动。当然也可以采用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