nodejs解析url参数的三种方法

const myserver = require("http");
const urlib = require("url");
var myfs = require("fs");
myserver.createServer(function (req,res){
    console.log(req.url);
    res.write("there is a game of love"+"\n");
    var params ={};
    if (req.url.indexOf(‘?‘)!==-1)
    {
        params = req.url.split("?");
        console.log(params);
        params = params[1].split("&");
        for(var $i=0;$i<params.length;$i++)
        {
            var myitem = params[$i].split("=");
            res.write(myitem[0]+"==========="+myitem[1]+"\n");
        }
    }
    else
    {
        res.write(req.url);
    }
    res.end();
}).listen(8090);

输出结果:

  • require(‘url‘)模块
const myserver = require("http");
const urlib = require("url");
myserver.createServer(function (req,res){
    var myobj = urlib.parse(req.url,true);
    var name = myobj.query.name;
    var age  = myobj.query.age;
    var name  = myobj.query.name;
    console.log(age);
    console.log(name);
    res.write("aaa");
    res.end();
}).listen(8090);

输出结果:

这里比较奇怪,最后的两个undefined其实还是分别输出name和age字段,但由于内存已经释放,所以输出了undefined

  • querystring
const myserver = require("http");
const querystring = require("querystring");
var age=null;
var name  =null;
myserver.createServer(function (req,res){
    var myobj = querystring.parse(req.url.split("?")[1]);

    if (myobj)
    {
       res.write(myobj.name);
       res.write(myobj.age);
    }
    else
    {
        res.write("aaa");
    }
    res.end();
}).listen(8090);

输出结果

原文地址:https://www.cnblogs.com/saintdingspage/p/11025496.html

时间: 2024-11-05 15:57:35

nodejs解析url参数的三种方法的相关文章

php 伪造HTTP_REFERER页面URL来源的三种方法

php获取当前页面的前一个页面URL地址,即当前页面是从哪个页面链接过来的,可以使用$_SERVER['HTTP_REFERER']; 但是$_SERVER['HTTP_REFERER']也是可以被伪造欺骗的,有三种方法可以伪造和欺骗$_SERVER['HTTP_REFERER'] 第一种方法:file_get_contents $url = "http://localhost/test/test.php"; $refer="http://www.aa.com";

mfc 在VC的两个对话框类中传递参数的三种方法

弄了好久,今天终于把在VC中的对话框类之间传递参数的问题解决了,很开心,记录如下: 1. 我所建立的工程是一个基于MFC对话框的应用程序,一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMDDDlg类.在主对话框上我放置了一个标签页(Tab Control)控件,其实现的功能是当单击标签提示A时进入页面A,即对话框A(所对应的类为CDialogChild1),单击B时进入对话框B(CDialogChild2). 整个工程的框架已经设计好了,在对话框A和对话框B上放置了许多控件,现在我想

Struts2关于Action的系统训练6关于action接收参数的三种方法

我们知道,action在web开发中起到了控制器的作用,通过接收客户端传来的参数,执行不同的模块才实现操作,所以说接收参数是很重要的一环,只有接收前端的参数,才能执行数据库的操作等后台业务逻辑,那么就开始一一展示这三种方法吧(只用看action类的编写即可) 1第一种方式:UserAction.java package com.bjsxt.struts2.user.action; import com.opensymphony.xwork2.ActionSupport; public class

为maven插件设置参数的三种方法

很多的maven插件都提供了丰富的可选参数,用户可以通过设置特定的参数值来控制maven插件的行为.设置插件参数的方法主要有三种,分别是命令行设置,POM文件中为插件设置全局参数和POM文件中为插件设置任务参数. 第一种,命令行设置.这种设置方式是在使用命令行调用maven生命周期阶段或者插件目标时设置插件参数的方法,其形式是"-D参数键=参数值",可以设置多个,每个参数键值对都要使用"-D"参数,相互之间以空格分隔.这种设置方式将参数设置为Java系统属性,mav

js获取url参数的两种方法

js获取参数,在以前我都是用正在去拆分,然后获取,这种方式感觉是最简单的 方式1: function QueryString(item) { var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i")) return sValue?sValue[1]:sValue } //使用方法 //url=http://www.xxx.

【Jquery】jQuery获取URL参数的两种方法

jQuery获取URL参数的关键是获取到URL,然后对URL进行过滤处理,取出参数. location.href是取得URL,location.search是取得URL"?"之后的字符串,也就是说参数部分. 方法一: function request(paras){ var url = location.href; var paraString = url.substring(url.indexOf("?")+1,url.length).split("&a

HTML中接收URL参数的三种方式

1.使用 window.location.search 来取得后面的参数 // param参数的名 function getParameter(param){var query = window.location.search;var iLen = param.length;var iStart = query.indexOf(param);if (iStart == -1) return "";iStart += iLen + 1;var iEnd = query.indexOf(&

2017-8-25 c# 获取url参数的五种方法(转)

假设当前页完整地址为:http://www.jbxue.com/aaa/bbb.aspx?id=5&name=kelli则: "http://"是协议名"www.jbxue.com"是域名"aaa"是站点名"bbb.aspx"是页面名(文件名)"id=5&name=kelli"是参数 下面分享几个举得url中相关参数的例子,包括完整url.域名等信息. 1,获取 完整url (协议名+域名+

setintervalue传参数的三种方法

http://www.cnblogs.com/wkylin/archive/2012/09/07/2674911.html http://www.bhcode.net/article/20110822/22374.html 看最后的一种写法,感觉最好.