• node07-http


    目录:
    node01-创建服务器
    node02-util
    node03-events
    node04-buffer
    node05-fs
    node06-path
    node07-http
    node08-express
    node09-cookie

    http模块:

    文件上传:

    html:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>post</title>
     6     <link rel="stylesheet" href="post.css">
     7 </head>
     8 <body>
     9     <form action="/post" method="post" enctype="multipart/form-data">
    10         用户名:<input type="text" name="user"><br>
    11         密码:<input type="password" name="pass"><br>
    12         <input type="file" name="fileup"><br>
    13         <input type="submit" value="提交">
    14     </form>
    15     <div id="time">time</div>
    16 </body>
    17 <script src="post.js"></script>
    18 </html>
    View Code

    js:

     1 window.onload = function(){
     2     var time = document.getElementById("time");
     3     var timer = setInterval(function(){
     4         var ajax = new XMLHttpRequest();
     5         ajax.open("get","/ajax?user=zhaoyang&pass=123",true);
     6         ajax.send();
     7         ajax.onload = function(){
     8             time.innerHTML = ajax.responseText;
     9         }
    10     },1000);
    11 
    12 }
    View Code

    node(文件上传与get、post请求处理):

     1 /*
     2 * http:超文本传输协议
     3 * http模块:能够搭建服务器环境(模拟的客服端环境)
     4 * 
     5 * */
     6 
     7 var http = require("http");
     8 var url = require("url");
     9 var fs = require("fs");
    10 var formidable = require("formidable");
    11 var server = http.createServer(function (request,response) {
    12     // console.log(request.url);
    13     var urlObj = url.parse(request.url,true);
    14     // console.log(urlObj);
    15     // console.log(request.method);
    16     // response.end("响应结束");
    17 
    18     if(urlObj.pathname == "/10post.html" || urlObj.pathname == "/"){
    19         //访问表单页面
    20         var rs = fs.createReadStream("10post.html");
    21         rs.pipe(response);
    22         // response.end();不能带end()
    23     }else if(urlObj.pathname == "/post"){
    24         // console.log(urlObj);
    25     //     request.on("data",function(chunk){
    26     //         console.log(chunk);
    27     //     });
    28 
    29         var form = new formidable.IncomingForm();
    30         form.parse(request,function (err,fields,files) {
    31             // console.log(fields);
    32             console.log(files);
    33             console.log(files.fileup.path);//文件上传的临时路径 files.fileup.path
    34             fs.createReadStream(files.fileup.path).pipe(fs.createWriteStream("./upload/" + files.fileup.name));
    35 
    36         });
    37         response.end();
    38     }else if(urlObj.pathname == "/ajax"){
    39         var newTime = new Date();
    40         response.end(newTime.toString());
    41     }else if(urlObj.pathname == "/req"){
    42         console.log(urlObj.query);
    43         var result= "";
    44         request.on("data",function(chunk){
    45             result += chunk.toString();
    46         });
    47         request.on("end",function(err){
    48             response.end("参数是" + result);
    49         })
    50         response.end("参数是" + JSON.stringify(urlObj.query));
    51     }else if(urlObj.pathname != "/favicon.ico"){
    52         //其他的所有页面
    53         // ./post.css
    54         console.log(urlObj.pathname);
    55         fs.createReadStream("." + urlObj.pathname).pipe(response);
    56     }
    57 });
    58 server.listen(2333);
    View Code

    GET、POST请求:

     1 var http = require("http");
     2 var request = http.request({
     3     host:"localhost",
     4     port:"2333",
     5     path:"/req?user=zhaoyang&pass=123",
     6     // path:"/req",
     7     method:"POST",
     8 },function (res) {
     9     console.log(res.statusCode);
    10     var result = "";
    11     res.on("data",function(chunk){
    12         result += chunk;
    13     });
    14     res.on("end",function(err){
    15         console.log(result);
    16     });
    17 });
    18 request.write('{"user":"zhaoyang","pass":"123"}');
    19 request.end();//结束请求体
    View Code
  • 相关阅读:
    vc 获得文件相对路径
    C#关闭MessageBox消息框(转)
    ip地址及地理位置查询
    WinDbg关联dump文件
    国外程序员推荐:每个程序员都应读的书
    [转]史上最全的C位域总结201036 2:58:00
    android 屏幕保持唤醒 不锁屏
    [转]win7如何共享
    一些DirectUI方面的资料
    计算器程序,可以计算正实数范围内的任何数据的加减乘除括号,混合运算
  • 原文地址:https://www.cnblogs.com/98-bky/p/6188277.html
Copyright © 2020-2023  润新知