node环境下“get数据解析”的三种方式

1、自己写

const http = require('http');

http.createServer(function(req,res){
    var get = {};
    if(req.url.indexOf('?')!=-1){
        var arr = req.url.split('?');
        var url = arr[0];
        var arr2 = arr[1].split('&');
        for(var i=0;i<arr2.length;i++){
            var arr3 = arr2[i].split('=');
            get[arr3[0]]=arr3[1];
        }
    }else{
        var url = req.url;
    }
    console.log(url,get);
    res.write('aaa');
    res.end();
}).listen(8080);

2、引入querystring模块

const http = require('http');
const querystring = require('querystring');
http.createServer(function(req,res){
    var get = {};
    if(req.url.indexOf('?')!=-1){
        var arr = req.url.split('?');
        var url = arr[0];
        get = querystring.parse(arr[1]);
    }else{
        var url = req.url;
    }
    console.log(url,get);
    res.write('aaa');
    res.end();
}).listen(8080);

3、引入url模块

const http = require('http');
const urlli = require('url');

http.createServer(function(req,res){
    var obj = urlli.parse(req.url,true); //true解析,如果没有true,默认不解析
    var url = obj.pathname;
    var get = obj.query;
    console.log(url,get);
    res.write('aaa');
    res.end();
}).listen(8080);

提交表单的HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<form action="http://localhost:8080/aaa" method="get">
		用户:<input type="text" name="user" value=''><br>
		密码:<input type="password" name="pass" value=''><br>
		<input type="submit" value="提交">
	</form>
</body>
</html>

 

动易标签说明 信息概览 调用范例 参数细目 查询语句 转换模板 附加信息 图片一列式栏目上下循环 标签名称: 图片一列式栏目上下循环 调用标签名: {PE.Label id="图片一列式栏目上下循环"/} 数据源调用标签名: {PE.DataSource id="cone" datasource="图片一列式栏目上下循环" /} 标签分类: 栏目类 标签文件大小: 3K 更新时间: 2010/3/29 9:36:04 解析方式: 简单XSLT解析 数据设置: 系统数据库SQL查询 官方版本: 3.5.0.0 兼容版本: 3.5.0.0 是否具有分页功能: 否 是否启用XSLT查询: 否 是否启用XSLT统计: 否 是否允许Ajax访问: 否 标签说明: 图片一列式栏目上下循环 调用说明: ·分页需要开启参数usePage="true"。 ·双击可以直接复制调用代码至剪贴板。 ·绑定样式系列的查询标签分页标签数据源为 当前调用的标签+_+样式标签。 ·部分列表类标签支持节点配置托管,每页的分页数量可由节点配置。 ·移除和默认值相等的参数将会提升性能;不需要改变默认值的参数就尽量不要调用它。 普通调用方法: {PE.Label id="图片一列式栏目上下循环" outputQty="10" parentId="2" titleLength="60" hits="0" eliteLevel="0" linkOpenType="2" /} 分页调用方法: 该标签不具备分页功能 数据源调用方法: {PE.DataSource id="cone" datasource="图片一列式栏目上下循环" outputQty="10" parentId="2" titleLength="60" hits="0" eliteLevel="0" linkOpenType="2" /} 属性 参数类型 默认值 可用值 变量值 参数说明 outputQty - 10 自定义值 - 输出的项目数量,如果开启分页,则此参数为分页大小值 parentId - 2 自定义值,支持数组 @RequestInt_Id 父栏目ID titleLength - 60 自定义值 - 项目标题长度,一个汉字占两个字节 hits - 0 自定义值 - 点击数大于等于指定值的项目 eliteLevel - 0 自定义值 - 推荐级大于等于指定值的项目 linkOpenType - 2 自定义值 - 内容链接的打开方式{栏目节点配置取代:2,新窗口:1,原窗口:0} 查询语句: view sourceprint?1.SELECT TOP @pagesize * FROM PE_Nodes N WHERE N.NodeID NOT IN (SELECT TOP @startrow [IN].NodeID FROM PE_Nodes [IN] WHERE [IN].ParentID = @parentId AND [IN].ShowOnList_Parent = 1 AND [IN].PurviewType != 3 ORDER BY [IN].OrderID) AND N.ParentID = @parentId AND N.ShowOnList_Parent = 1 AND N.PurviewType != 3 ORDER BY N.OrderID 统计语句: view sourceprint?1.SELECT COUNT ([IN].NodeID) FROM PE_Nodes [IN] WHERE [IN].ParentID = @parentId AND [IN].ShowOnList_Parent = 1 AND [IN].PurviewType != 3 分页语句: view sourceprint?1.还没有相关数据! 转换模板内容: view sourceprint?01.<?xml version="1.0" encoding="utf-8"?> 02.<XSL:TRANSFORM exclude-result-prefixes="pe" xmlns:pe="labelproc" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 03. <XSL:OUTPUT method="html" /> 04. <XSL:PARAM name="outputQty" /> 05. <XSL:PARAM name="parentId" /> 06. <XSL:PARAM name="titleLength" /> 07. <XSL:PARAM name="hits" /> 08. <XSL:PARAM name="eliteLevel" /> 09. <XSL:PARAM name="linkOpenType" /> 10. <XSL:TEMPLATE match="/"> 11. <XSL:FOR-EACH select="/NewDataSet/Table"> 12. <DIV class=c_spacing> 13. </DIV> 14. <DIV class=c_main_box sizcache="0" sizset="1"> 15. <DIV class=class_title> 16. <DIV class=more> 17. <A> 18. <XSL:ATTRIBUTE name="href"> 19. <XSL:VALUE-OF select="pe:GetNodePath('true',NodeID)" /> 20. </XSL:ATTRIBUTE>[更多]</A> 21. </DIV> 22. <A> 23. <XSL:ATTRIBUTE name="href"> 24. <XSL:VALUE-OF select="pe:GetNodePath('true',NodeID)" /> 25. </XSL:ATTRIBUTE> 26. <XSL:VALUE-OF select="pe:GetNode(NodeID,'name')" /> 27. </A> 28. </DIV> 29. <DIV class=class_content sizcache="0" sizset="1"> 30. <DIV class=p_class_list sizcache="0" sizset="1"> 31. <UL>{PE.DataSource id="InfoList<XSL:VALUE-OF select="NodeID" />" datasource="图片栏目循环列表信息" nodeArray="<XSL:VALUE-OF select="arrChildID" />" parentId="<XSL:VALUE-OF select="$parentId" />" outputQty="<XSL:VALUE-OF select="$outputQty" />" hits="<XSL:VALUE-OF select="$hits" />" eliteLevel="<XSL:VALUE-OF select="$eliteLevel" />" linkOpenType="<XSL:VALUE-OF select="$linkOpenType" />" xslt="true" /} 32.{PE.Repeat id="InfoList<XSL:VALUE-OF select="NodeID" />" loop="10"} 33.<LI> 34.{PE.field id="InfoList<XSL:VALUE-OF select="NodeID" />" fieldname="DefaultPicUrl" /} 35.<BR> 36.{PE.field id="InfoList<XSL:VALUE-OF select="NodeID" />" fieldname="InfoPath" /} 37. 38.{/PE.Repeat} 39.</LI></UL> 40. </DIV> 41. <DIV class=clearbox> 42. </DIV> 43. </DIV> 44. </DIV> 45. </XSL:FOR-EACH> 46. </XSL:TEMPLATE> 47.</XSL:TRANSFORM> 附加说明: - 注意事项: - 使用说明: - 更新日志: - 相关链接: -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值