美文网首页
0810_io交互&web表单交互

0810_io交互&web表单交互

作者: 天才在战斗 | 来源:发表于2016-08-10 22:23 被阅读57次

    课前回顾

    静态服务器

    url地址获取

    fs文件操作

    根据不同url返回不同页面

    新内容(终端IO交互, web表单交互)

    • 终端交互

    io.js

    var readline = require('readline'); // 引入交互模块
    
    var sk = require('./shangke'); // 引入自定义模块, 这里的后缀.js可以加可以不加
    
    var rl = readline.createInterface(process.stdin, process.stdout); //
    
    rl.setPrompt('请输入:'); // 提示用户
    rl.prompt(); // 实例化监听
    
    rl.on('line', (line) => { // 读进内容
      var str = line.trim();
      if (str == '0') { // 如果用户输入0, 则退出
          console.log('欢迎下次再来');
          process.exit();
      } else { // 否则, 通过自定义组件模块显示输入的内容
        // console.log('你输入的是' + str);
        sk.shangke(str); // 调用模块中的
        sk.h(); // 调用模块中的hello
        rl.prompt();
      }
    });// .on('close', () => {
    //  console.log('欢迎下次再来');
    //  process.exit();
    // })
    

    shangke.js

    exports.shangke = function(str) { // 模块化
      console.log('这是上课模块' + str);
    }
    function hello() {
      console.log('this is hello');
    }
    exports.h = hello();
    
    • web表单交互

    通过引入模块querystring来和表单交互

    var qs = require('querystring');
    

    以下是node官方举例:
    querystring.parse(str[, sep][, eq][, options])方法

     querystring.parse('foo=bar&baz=qux&baz=quux&corge')
    // returns { foo: 'bar', baz: ['qux', 'quux'], corge: '' }
    
    // Suppose gbkDecodeURIComponent function already exists,
    // it can decode `gbk` encoding string
    querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,
      { decodeURIComponent: gbkDecodeURIComponent })
    // returns { w: '中文', foo: 'bar' }
    

    querystring.stringify(obj[, sep][, eq][, options])方法

    querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' })
    // returns 'foo=bar&baz=qux&baz=quux&corge='
    
    querystring.stringify({foo: 'bar', baz: 'qux'}, ';', ':')
    // returns 'foo:bar;baz:qux'
    
    // Suppose gbkEncodeURIComponent function already exists,
    // it can encode string with `gbk` encoding
    querystring.stringify({ w: '中文', foo: 'bar' }, null, null,
      { encodeURIComponent: gbkEncodeURIComponent })
    // returns 'w=%D6%D0%CE%C4&foo=bar'
    

    注:

    linux 下打压: tar zcvf lilei.tar.gz

    linux 下解压: tar zxvf lilei.tar.gz

    作业

    实现一个计算器(页面, 后台, +, -, *, /, %)[querystring模块]

    相关文章

      网友评论

          本文标题:0810_io交互&web表单交互

          本文链接:https://www.haomeiwen.com/subject/spvjsttx.html