zoukankan      html  css  js  c++  java
  • 10 —— node —— 获取文件在前台遍历

    思想 : 前台主动发起获取 =》 ajax

    1,前台文件 index.html 

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <style>
        body{
          background: skyblue;
          padding: 50px;
        }
      </style>
    </head>
     
    <body>
     
    <h1>获取文件夹</h1>
    <div id="div"></div>

    <script>
      var xhr = new XMLHttpRequest();
      xhr.open('get','/file_list');
      xhr.send();
      xhr.onreadystatechange = function(){
        if(xhr.readyState == 4){
        /*
        *   json 转 数组
        */
        var data = JSON.parse(xhr.responseText);
        var htmls = '';
        
        for(var i=0;i<data.length;i++){
          htmls += data[i]+' '
        }

        document.getElementById('div').innerHTML = htmls;
        }
      }
    </script>
    </body>
    </html>
     
    ________________________________________________________
     
    2,后端文件  server.js
     
    const http = require('http');
    const fs = require('fs');

    const server = http.createServer();

    server.on('request', function (req, res) {

      // 根据每次请求的文件类型给予相应的响应

      var urls = req.url;
      console.log(urls);

      if(urls=='/'){
        res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'});
        fs.readFile('./index.html', 'utf-8', function (err, data) {
          if (err) console.log(err)
          res.end(data)
        });
      }else if(urls == '/file_list'){
        fs.readdir('./','utf8',(err,data)=>{
          /**
          * 客户端与服务端进行数据通信时 , 将数据转化为 json 格式
          */
          res.end(JSON.stringify(data))
        })
      }else{
        // 自动为二进制,浏览器会自动识别
        // 注意路径前要加 .
        fs.readFile('.'+urls, function (err, data) {
          if (err) console.log(err)
          res.end(data)
        });
      }
     
    });

    server.listen(1234, () => {
      console.log('this server is runing on 1234')
    });


  • 相关阅读:
    c# 实现鼠标拖拽TreeView节点
    代码生成组合编码
    .net分布式错误,DTC出错问题
    乱七八糟?Ⅱ.哈哈
    用SQL只获取日期的方法
    C#学习之接口
    webservice 上传图片、下载图片
    Python包系列
    多线程多进程模块
    第九章Admin后台系统
  • 原文地址:https://www.cnblogs.com/500m/p/10932661.html
Copyright © 2011-2022 走看看