在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    NodeJS,url、querystring和querystringify模塊,接收請(qǐng)求參數(shù)

    NodeJS提取網(wǎng)址參數(shù)

    querystringify模塊

    querystring,將url請(qǐng)求地址后的參數(shù)轉(zhuǎn)化為對(duì)象,也可以把對(duì)象轉(zhuǎn)化為url后的參數(shù),便利對(duì)url的操作,npm install querystring -D,“querystring”已棄用。

    代碼案例

    const querystring = require(“querystring”);let url = “/get?id=123456&name=%E5%BC%A0%E4%B8%89”;console.log(“uri”, url.split(‘?’)[0]);let param = url.split(‘?’)[1];let obj = querystring.parse(param);console.log(“obj”, obj);console.log(“obj.id=”, obj.id, “obj.name=”, obj.name);let obj2 = { id: 345678, name: “張三”, hobby: [“play”, “com1”, “com2”]};var o2s = querystring.stringify(obj2);console.log(“o2s”, o2s);

    querystringify模塊

    querystringify模塊,qs.parse()和qs.stringify(),npm install querystringify –save,地址:https://github.com/unshiftio/querystringify。

    代碼案例

    const qs = require(‘querystringify’);let r11 = qs.parse(‘?foo=bar’);console.log(r11); // { foo: ‘bar’ }let r12 = qs.parse(‘#foo=bar’);console.log(r12); // { foo: ‘bar’ }let r13 = qs.parse(‘foo=bar’);console.log(r13); // { foo: ‘bar’ }let r14 = qs.parse(‘foo=bar&bar=foo’);console.log(r14); // { foo: ‘bar’, bar: ‘foo’ }let r15 = qs.parse(‘foo&bar=foo’);console.log(r15); // { foo: ”, bar: ‘foo’ }let r21 = qs.stringify({ foo: ‘bar’ });console.log(r21); // foo=barlet r22 = qs.stringify({ foo: ‘bar’ }, true);console.log(r22); // ?foo=barlet r23 = qs.stringify({ foo: ‘bar’ }, ‘#’);console.log(r23); // #foo=barlet r24 = qs.stringify({ foo: ” }, ‘&’);console.log(r24); // &foo=

    url模塊

    將url解析成對(duì)象,parse方法原型:url.parse(urlStr[, parseQueryString][, slashesDenoteHost]),可傳遞3個(gè)參數(shù),1、urlStr:要解析成對(duì)象的url字符串;2、parseQueryString:是否解析查詢參數(shù),默認(rèn)為false;3、slashesDenoteHost:是否以斜線解析主機(jī)名,默認(rèn)為false。

    代碼案例

    const url = require(‘url’)let urlParam = new URL(“/foo?name=%E5%BC%A0%E4%B8%89”, “http://localhost:3000”);console.log(“urlParam =”, urlParam);console.log(“name =”, urlParam.searchParams.get(“name”))

    接收請(qǐng)求參數(shù)

    接收參數(shù),代碼案例

    const http = require(“http”);const url = require(“url”);// 創(chuàng)建Serverconst httpServer = http.createServer((req, res) => { const method = req.method; const uri = req.url.split(‘?’)[0]; console.log(“uri”, uri); if (uri == ‘/get1’) { // Get請(qǐng)求 let data = url.parse(req.url, true).query; res.setHeader(‘Content-Type’, ‘html/text;charset=utf-8’); console.log(“get1 data”, data); // get1 data [Object: null prototype] { id: ‘123456’, name: ‘張三’ } res.end(“data.id=” + data.id + “,data.name=” + data.name); } else if (uri == ‘/post1’) { // POST請(qǐng)求 let data = url.parse(req.url, true).query; res.setHeader(‘Content-Type’, ‘html/text;charset=utf-8’); console.log(“post1 data”, data); // post1 data [Object: null prototype] { id: ‘123456’, name: ‘李四’ } res.end(“data.id=” + data.id + “,data.name=” + data.name); } else if (uri == ‘/post2’) { // POST請(qǐng)求(JSON) let postData = “”; // 數(shù)據(jù)塊接收中 req.on(“data”, function (postDataChunk) { postData += postDataChunk; }); // 接收完畢 req.on(“end”, function () { let jsonObject = JSON.parse(postData); console.log(“postData=”, postData); res.setHeader(‘Content-Type’, ‘html/text;charset=utf-8’); console.log(“jsonObject.id=”, jsonObject.id); console.log(“jsonObject.name=”, jsonObject.name); res.end(“jsonObject.id=” + jsonObject.id + “,jsonObject.name=” + jsonObject.name); }); }});httpServer.listen(3000, function () { console.log(“http server port:”, 3000);});

    模擬實(shí)現(xiàn)路由,代碼案例

    server.js

    const http = require(“http”);var url = require(“url”);var router = require(“./module/router.js”);// 創(chuàng)建Serverconst httpServer = http.createServer((request, response) => { if (request.url !== ‘/favicon.ico’) { let pathname = url.parse(request.url).pathname; console.log(“pathname.”, pathname); pathname = pathname.replace(///, ”); console.log(“pathname..”, pathname); router[pathname](request, response); }});// 監(jiān)聽httpServer.listen(3000, function () { console.log(“http server port:”, 3000);});

    modulerouter.js

    module.exports = { // http://127.0.0.1:3000/demo1 demo1: function (req, res) { res.end(“demo1”); }, // http://127.0.0.1:3000/demo2 demo2: function (req, res) { res.end(“demo2”); }}

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    上一篇 2022年6月17日 06:11
    下一篇 2022年6月17日 06:11

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息