zoukankan      html  css  js  c++  java
  • Nodejs--url模块

    由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。

    url 模块中的 parse 函数可以用于解析url中的参数。

    url.parse(urlStr, [parseQueryString], [slashesDenoteHost])

    参数使用说明如下:

    • urlStr - 需要接收的url字符串。

    • parseQueryString  - 为true时将使用查询模块分析查询字符串,默认为false。

    • shashesDenoteHost        

             -默认为false,//foo/bar 形式的字符串将被解释成 { pathname: ‘//foo/bar' }

             -如果设置成true,//foo/bar 形式的字符串将被解释成  { host: ‘foo', pathname: ‘/bar' }

    urlcontent.js

     1 var http = require('http');
     2 var url = require('url');
     3 var util = require('util');
     4 
     5 http.createServer(function (req, res) {
     6     res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
     7     res.write('url:'+req.url+'
    
    ');
     8     res.write(util.inspect(url.parse(req.url, true))+'
    
    ');
     9 
    10     var params = url.parse(req.url, true).query;
    11     res.write("name:" + params.name + '
    ');
    12     res.write("age:" + params.age + '
    ');
    13 
    14     var pathname = url.parse(req.url, true).pathname;
    15     res.write('pathname:' + pathname + '
    ');
    16 
    17     var path = url.parse(req.url, true).path;
    18     res.write('path:' + path);
    19     res.end();
    20 }).listen(3000);

    我们在浏览器中输入以下地址:localhost:3000/user?name=dragon&age=18

    显示结果如下:

    下面我们新建一个form表单,再来模拟一下。

    index.html

     1 <html>
     2 <head>
     3     <title>test</title>
     4 </head>
     5 <body>
     6     <form action="http://localhost:3000" method="GET">
     7         <table border="0">
     8             <tr>
     9                 <td>username:</td>
    10                 <td><input type="text" name="username"><br/></td>
    11             </tr>
    12             <tr>
    13                 <td>password:</td>
    14                 <td><input type="text" name="password"><br/></td>
    15             </tr>
    16             <tr>
    17                 <td align="center" colspan="2"><input type="submit" name="" value="提交"></td>
    18             </tr>
    19         </table>
    20     </form>
    21 </body>
    22 </html>

    server.js

     1 var http = require("http");
     2 var url = require("url");
     3 var server = http.createServer(function (req, res) {
     4 
     5 var queryObj = url.parse(req.url, true).query;
     6 var username = queryObj.username;
     7 var password = queryObj.password;
     8  
     9 res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' });
    10 res.write('server received form request:
    
    ');
    11 res.write('username:'+username+'
    
    '+'password:'+password);
    12 res.end();
    13 });
    14 server.listen(3000);

    运行server.js,然后打开index.html

  • 相关阅读:
    IOS compare 字符串比较
    Cocoa Touch事件处理流程--响应者链
    真机测试及布署Code Sign error问题总结
    CG_INLINE,inline 内联函数
    objective-c static变量的使用总结
    iOS用户信息单例的创建
    UITextField-修改占位文字和光标的颜色,大小
    iOS应用程序生命周期(前后台切换,应用的各种状态)详解
    深入理解RunLoop
    jQuery文件上传插件uploadify
  • 原文地址:https://www.cnblogs.com/jfl-xx/p/7251003.html
Copyright © 2011-2022 走看看