IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> node.js案例写一个简单的get请求请求有50%的概率要求数据在一个json文件中 -> 正文阅读

[大数据]node.js案例写一个简单的get请求请求有50%的概率要求数据在一个json文件中

  • 案例目标:实现GET的主要属性为req.method,并且生成随机数

  1. 使用nodejs,实现一个Ajax的get请求方式
  2. 将lib里的data.json文件请求获取出来
  3. data里面的数据为
    {
        "success":[
            {
                "data": "你赢了",
                "message":"请求成功",
                "code": "200"
            }
        ],
        "fail":[
            {
                "data": "你输了",
                "message":"请求失败",
                "code": "200"
            }
        ]
    }
  • ?案例准备

  • ?案例代码

    // 1.定义核心模块 http fs path
    const http = require('http')
    const fs = require('fs')
    const path = require('path')
    // 2.创建服务
    const server = http.createServer((req, res) => {
        // 2.1 如果url地址为/getList 执行代码
        // -req.method 为请求类型
        // 生成随机数,大于0.5为0,小于为1
        let render = Math.random() > 0.5 ? 0 : 1
        // console.log(render)
    
        // 2.2 拼接字符串,为读取数据传参
        // -__dirname为获取的目录地址
        // -lib为存放数据的名字,data.json为读取的文件
        const filepath = path.join(__dirname, 'lib', 'data.json')
        // -console.log('拼接的地址', filepath)
        if (render === 0 && req.url === '/getList' && req.method === 'GET') {
            // 2.3 读取data文件
            fs.readFile(filepath, 'utf8', (err, data) => {
                // - 打印错误信息
                if (err) {
                    console.log('错误日志', err)
                    return
                }
                // 读取的为json数据,设置请求头,如果不设置,则打印乱码信息
                res.setHeader('content-type', 'application/json;charset=utf8')
                // - 返回数据
                let jsonArr = JSON.parse(data)['success']
                let jsonStr = JSON.stringify(jsonArr)
                res.end(jsonStr)
            })
        } else if (render === 1 && req.url === '/getList' && req.method === 'GET') {
            fs.readFile(filepath, 'utf8', (err, data) => {
                // - 打印错误信息
                if (err) {
                    console.log('错误日志', err)
                    return
                }
                // 读取的为json数据,设置请求头,如果不设置,则打印乱码信息
                res.setHeader('content-type', 'application/json;charset=utf8')
                // - 返回数据
                let jsonArr = JSON.parse(data)['fail']
                let jsonStr = JSON.stringify(jsonArr)
                res.end(jsonStr)
            })
        }
    })
    // 3.启动服务
    // 8111为端口号,默认8000,尽量使用8开头,如果使用其他,咋不会正常运行,会报错
    server.listen(8111, () => {
        // 服务提示信息,运行代码后的提示
        console.log('端口1111已经开启')
    })
    

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:24:52  更:2021-09-14 13:27:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:19:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码