nodejs入门(原生): 创建本地服务,配置路由,读,写文件;模拟get、post请求接口

1.创建server.js,内容如下,然后执行node server.js可以看到如下图片

let http = require('http')
let url = require('url')
http.createServer(function(request, response){
    response.writeHead(200,{'conten-type': 'text/plain'})
    response.write('hello h3c')
    let location_name = url.parse(request.url).pathname
    console.log(location_name)
    console.log('唐僧搭建本地服务成功')
    response.end()

}).listen('8888')

在这里插入图片描述

2.配置路由(‘/home’和‘/alarm’)代码如下

let http = require('http')
let url = require('url')
http.createServer(function(request, response){
    let urlObj =  url.parse(request.url);
    let location_name = urlObj.pathname
    if(location_name==='/home'){
        response.write('hello home')
    }else if(location_name==='/alarm'){
        response.write('hello alarm')
    }
    console.log('唐僧搭建本地服务成功')
    response.end() 
}).listen('8888')

在这里插入图片描述

3.读写文件代码如下(管道流分块读写),新建mock.js空文件夹,

server.js代码

let http = require('http')
let url = require('url')
let fs = require('fs')
http.createServer(function(request, response){
    let urlObj =  url.parse(request.url);
    let writeStream = fs.createWriteStream('./mock.js')
    let readStream = fs.createReadStream('./data.js')
    let writeDatas=[1,2,3,4]
    let readData = null
    writeStream.write(JSON.stringify(writeDatas))
    readStream.on('data',(pie)=>{
        readData += pie
    })
    readStream.on('end',()=>{
       console.log(readData)
    })
    let location_name = urlObj.pathname
    if(location_name==='/home'){
        response.write('hello home')
    }else if(location_name==='/alarm'){
        response.write('hello alarm')
    }else{
        response.write('没有查询到接口')
    }
    console.log('唐僧搭建本地服务成功')
    response.end() 
}).listen('8888')

data.js代码如下

{
    data[{
        name:'zhangsan',
        age:12,
    },{
        name:'tangsheng',
        age:27,
    }]
}

运行结果:
在这里插入图片描述

4.模拟get和post请求,新建index_get.html和index_post.html内容如下

index_get.html

<html>
    <head>
        <title>唐僧洗发用飘柔</title>
    </head>
    <body>
        <form action="http://localhost:8888/login/get" method="get">
            <label>用户名:</label><input type="text" name="user"/><br>
            <label>密码:</label><input type="text" name="password"/><br>
            <button type="submit">登录</button>
        </form>
    </body>
</html>
index_post.html
<html>
    <head>
        <title>唐僧洗发用飘柔</title>
    </head>
    <body>
        <form action="http://localhost:8888/login/post" method="post">
            <label>用户名:</label><input type="text" name="user"/><br>
            <label>密码:</label><input type="text" name="password"/><br>
            <button type="submit">登录</button>
        </form>
    </body>
</html>

server.js代码如下

let http = require('http')
let url = require('url')
let fs = require('fs')
let rqs = require('querystring')
http.createServer(function(request, response){
    let urlObj =  url.parse(request.url);
    let location_name = urlObj.pathname
    if(location_name==='/home'){
        response.write('hello home')
    }else if(location_name==='/alarm'){
        response.write('hello alarm')
    }else if(location_name==='/login/get'){
        console.log(rqs.parse(urlObj.query))
    }else if(location_name==='/login/post'){
        let postData = null;
        request.on('data',(chunk)=>{
            postData += chunk
        })
        request.on('end',()=>{
            console.log(rqs.parse(postData))

        })
    }else{
        response.write('没有查询到接口')
    }
    console.log('唐僧搭建本地服务成功')
    response.end() 
}).listen('8888')

分别提交请求结果如下
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值