使用nodejs的http模块搭建HTTP服务端

1.一般使用方法如下。

    let http=require('http');//导入http模块
    //创建服务器    需要接受一个回调函数作为参数   该函数有两个参数  request ,response
    //request对象,获取所有的HTTP请求信息
    //response对象,将数据相应给客户端
    let server=http.createServer((request,response)=>{
        response.setHeader('Access-Control-Allow-Origin',"*");
        //..接收客户端请求
        //..响应客户端请求
        response.end("hello world !!!!");//响应结束
    });
    //listen方法接收两个参数  端口号,err
    server.listen(9000,err=>{
        //不发生错误,err无值,,发生错误,有数据
        if(err){
            console.log('发生错误:',err);
        }
    });
    console.log('Server is running.......');

2.举个例子演示说明。

    let http=require('http');//导入http模块
    let fs=require('fs');//导入fs模块
    const PORT='9005';//设置端口
    http.createServer((req,res)=>{
        res.writeHead(200,{
            "Content-Type":'text/html;charset=utf-8',
            "Access-Control-Allow-Origin":"*"
        });//设置编码,允许跨域
        
        let restult={};//保存响应数据的对象
        //读取文件,取出数据,响应给客户
        fs.readFile('./data.json','utf-8',(err,data)=>{
            if(!err){
                restult.code=100;
                restult.msg="ok";
                restult.data=JSON.parse(data);
                res.write(JSON.stringify(restult));
                res.end();
            }else{
                restult.code=110;
                restult.msg="失败";
                restult.data="";
                res.write(JSON.stringify(restult));
                res.end();
            }
        });
        
    }).listen(PORT,err=>{
        if(err){
            console.log('发生错误:',err);
        }
    });
    
    console.log(`服务器正在运行,端口为:${PORT}.....`);

3.前端可以通过fetch方法访问服务器。

            fetch("http://localhost:9005").then(data=>{
                return data.json();//json对象格式
            }).then(res=>{
                console.log(res);
            });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值