CN109614560A - 一种基于nodejs的url传参方法 - Google Patents
一种基于nodejs的url传参方法 Download PDFInfo
- Publication number
- CN109614560A CN109614560A CN201811471019.9A CN201811471019A CN109614560A CN 109614560 A CN109614560 A CN 109614560A CN 201811471019 A CN201811471019 A CN 201811471019A CN 109614560 A CN109614560 A CN 109614560A
- Authority
- CN
- China
- Prior art keywords
- parameter
- rule
- url
- json
- agreement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 241000208340 Araliaceae Species 0.000 title claims abstract description 29
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 title claims abstract description 29
- 235000003140 Panax quinquefolius Nutrition 0.000 title claims abstract description 29
- 235000008434 ginseng Nutrition 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 10
- 230000005856 abnormality Effects 0.000 claims abstract description 7
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明在此提供一种基于nodejs的url传参方法;具有如下流程;1)需要传递的参数根据规则生成特定的JSON对象;2)JSON对象转为字符串;3)对格式化的字符串进行转义;4)向服务端发起请求;5)解析接收到的参数;6)根据规则对约定的关键字的值进行JSON初始化;7)根据规则解析JSON对象;8)如果在解析过程中有异常则进行异常处理。本专利主要是为了解决通过http/https协议经url向服务器传参时会遇到的参数扩展性差的问题,尤其是在http/https中的get请求。因为协议本身只支持值键对(key=value)传参,所以我们只能在此基础上进行规则扩展。将我们需要的传参经过规则处理以后,再利用协议本身的值键对传参,传输到后端,后端同时使用对应的规则解析,则会得到比较复杂的参数。
Description
技术领域
本发明涉及通信领域,具体来讲是一种基于nodejs的url传参方法。
背景技术
传统http协议的get请求传参都是使用域名加“?”号,同时“?”后 跟key=value并使用“&”连接的方式传参,这样传参有一个很大的问题,那就 是表述有局限性,因为都是“=”号连接,所以在表述等于关系时是没有问题的。 不过在表示大于,等于等等关系时,就只能与后台预定。如此以来后台与前端 的开发关联非常紧密。而本专利实现的就是前台和后台约定的一套规则,以此 来解耦url传参的问题。
因为nodejs和前端都是使用javascript来开发,所以前端和后端都可以使 用同一个规则(类库)来处理,这样就更方便我们处理传参。
发明内容
因此,为了解决上述不足,本发明在此提供一种基于nodejs的url传参方法; 本专利主要是为了处理在web通过url向后台传参时会遇到的参数扩展性差的问 题,尤其是在http/https协议里的get请求。
本发明是这样实现的,构造一种基于nodejs的url传参方法,其特征在于: 传参流程如下;
1)需要传递的参数根据规则生成特定的JSON对象(客户端):用户前端根 据需求以及关联关系的规则生成一个JSON对象;
2)字符串格式化(客户端):将JSON对象格式化为一个字符串;
3)对格式化的字符串进行转义(客户端):根据url的传参要求,对字符串 里的特殊字符转义;并赋值给约定的key;
4)向服务端发起请求,提交参数(客户端):前端和后端必须约定一个url 参数的key,该key用来存储需要传输的参数;
5)解析接收到的参数(服务端):取出预定key的值,并转义,解析出需 要的字符串;
6)根据规则对约定的关键字的值进行JSON初始化(服务端):将字符串转 换为需要的JSON对象;
7)编译JSON对象(服务端):根据规则将JSON对象解析为需要的参数值;
8)异常处理(服务端):如果在解析过程中有异常则进行异常处理。
本发明在此提供一种基于nodejs的url传参方法;具有如下流程,1)需要 传递的参数根据规则生成特定的JSON对象(客户端);2)JSON对象转为字符 串(客户端);3)对格式化的字符串进行转义,以便在url中传输(客户端);4) 向服务端发起请求,提交参数;5)解析接收到的参数(服务端);6)根据规 则对约定的关键字的值进行JSON初始化(服务端);7)根据规则解析JSON对 象(服务端);8)如果在解析过程中有异常则进行异常处理(服务端)。本专利 主要是为了解决通过http/https协议经url向服务器传参时会遇到的参数扩展性差 的问题,尤其是在http/https中的get请求。因为协议本身只支持值键对 (key=value)传参,所以我们只能在此基础上进行规则扩展。将我们需要的传 参经过规则处理以后,再利用协议本身的值键对传参,传输到后端,后端同时 使用对应的规则解析,则会得到比较复杂的参数。
本发明具有如下优点:本发明在此提供一种基于nodejs的url传参方法;本 专利主要是为了处理在web通过url向后台传参时会遇到的参数扩展性差的问 题,尤其是在http/https协议里的get请求。因为http/https协议本身只支持值键 对(key=value)传参,所以我们只能在次基础上进行预定规则。将我们需要的 传参经过规则处理以后,再利用http/https协议本身的值键对传参,传输到后端, 后端同时使用对应的规则解析,则会得到比较复杂的传参。
附图说明
图1是本发明对应的传参的流程图。
具体实施方式
下面将结合附图1对本发明进行详细说明,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不 是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创 造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明通过改进在此提供一种基于nodejs的url传参方法;传参流程详细说 明如下;
1)用户请求(前端):前端和后端必须约定一个url参数的key,该key用 来存储需要传输的参数。比如约定url里的key:”__where”的值即为我们需要传输 的参数。
2)参数结构生成(前端):用户前端根据需求以及关联关系的规则生成一 个JSON对象。
3)字符串格式化(前端):将JSON对象格式化为一个字符串。
4)值转义(前端):根据url的传参要求,对字符串里的特殊字符转义。并 赋值给约定的key。
5)值转义(后端):取出预定key的值,并转义,解析出我们需要的字符 串。
6)JSON初始化(后端):将字符串转换为我们需要的JSON对象。
7)编译JSON对象(后端):根据规则将JSON对象解析为我们需要的参数 值。
8)异常处理(后端):前端异常由解析引擎的统一处理(例如:弹出提示 框等)。
JSON对象的结构为:
参数结构的设计–注释为属性说明:
说明:该设计只是一个JSON对象的一个属性,一个JSON对象可以有无数 个类似属性,并且一个属性也可以只有一个关联关系。
传参说明:
1、因为是通过url传参,为了兼容各种浏览器的各种版本,url本身的长度 不要超过2083个字符,一般情况下,这个长度已经足够我们使用了。
2、不建议post提交试用改传参模式,该专利主要是用来处理http/https中的 get请求传参。
因为nodejs的代码和前端可以通用,所以该专利的适用场景更适合nodejs 语言开发的后端。
因为http/https协议本身只支持值键对(key=value)传参,所以我们只能在 次基础上进行预定规则。将我们需要的传参经过规则处理以后,再利用http/https 协议本身的值键对传参,传输到后端,后端同时使用对应的规则解析,则会得 到比较复杂的传参。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文 中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施 例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合 与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (1)
1.一种基于nodejs的url传参方案,传参流程如下;
1)需要传递的参数根据规则生成特定的JSON对象(客户端):客户端根据需求以及参数的关联和约定的规则生成一个JSON对象;
2)JSON对象转为字符串(客户端):将JSON对象格式化为一个字符串;
3)对格式化的字符串进行转义,以便在url中传输(客户端):根据url的传参要求,对字符串里的特殊字符转义;并赋值给约定的key;
4)向服务端发起请求,提交参数(客户端):前端和后端必须约定一个url参数的key,该key用来存储需要传输的参数;
5)解析接收到的参数(服务端):取出预定key的值,并转义,解析出需要的字符串;
6)根据规则对约定的关键字的值进行JSON初始化(服务端):将字符串转换为需要的JSON对象;
7)编译JSON对象(服务端):根据规则将JSON对象解析为需要的参数值;
8)异常处理(服务端):如果在解析过程中有异常则进行异常处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811471019.9A CN109614560A (zh) | 2018-12-04 | 2018-12-04 | 一种基于nodejs的url传参方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811471019.9A CN109614560A (zh) | 2018-12-04 | 2018-12-04 | 一种基于nodejs的url传参方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109614560A true CN109614560A (zh) | 2019-04-12 |
Family
ID=66006415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811471019.9A Pending CN109614560A (zh) | 2018-12-04 | 2018-12-04 | 一种基于nodejs的url传参方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109614560A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266827B1 (en) * | 2003-10-06 | 2007-09-04 | Unisys Corporation | Exposing an application object model to web-based clients via object model traversal |
US7617504B1 (en) * | 2002-09-12 | 2009-11-10 | Sprint Communications Company L.P. | Computer method and system for integrating enterprise JavaBeans into non-Java environments |
CN102508674A (zh) * | 2011-12-02 | 2012-06-20 | 方正国际软件有限公司 | 基于json进行对象化参数传递的方法及系统 |
CN105068801A (zh) * | 2015-08-06 | 2015-11-18 | 福建天晴数码有限公司 | 修改json日期格式的方法及系统 |
CN107343028A (zh) * | 2017-06-13 | 2017-11-10 | 上海斐讯数据通信技术有限公司 | 一种基于http协议的通信方法及系统 |
CN107769909A (zh) * | 2017-09-29 | 2018-03-06 | 四川长虹电器股份有限公司 | 一种Egret引擎的前端数据发送处理的方法 |
-
2018
- 2018-12-04 CN CN201811471019.9A patent/CN109614560A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617504B1 (en) * | 2002-09-12 | 2009-11-10 | Sprint Communications Company L.P. | Computer method and system for integrating enterprise JavaBeans into non-Java environments |
US7266827B1 (en) * | 2003-10-06 | 2007-09-04 | Unisys Corporation | Exposing an application object model to web-based clients via object model traversal |
CN102508674A (zh) * | 2011-12-02 | 2012-06-20 | 方正国际软件有限公司 | 基于json进行对象化参数传递的方法及系统 |
CN105068801A (zh) * | 2015-08-06 | 2015-11-18 | 福建天晴数码有限公司 | 修改json日期格式的方法及系统 |
CN107343028A (zh) * | 2017-06-13 | 2017-11-10 | 上海斐讯数据通信技术有限公司 | 一种基于http协议的通信方法及系统 |
CN107769909A (zh) * | 2017-09-29 | 2018-03-06 | 四川长虹电器股份有限公司 | 一种Egret引擎的前端数据发送处理的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733689B (zh) | 一种json文本的比对方法和装置 | |
CN103559444B (zh) | 一种sql注入检测方法及装置 | |
CN102098331B (zh) | 一种还原web类应用内容的方法及其系统 | |
CN103744802B (zh) | Sql注入攻击的识别方法及装置 | |
US9178793B1 (en) | Engine for processing content rules associated with locations in a page | |
US11429586B2 (en) | Expression update validation | |
US20150025875A1 (en) | Semantics-oriented analysis of log message content | |
GB2348522A (en) | Automatically generating computer language grammars in browsable form | |
CN110602269B (zh) | 一种转换域名的方法 | |
CN104102577B (zh) | 多版本网页访问测试方法 | |
JP2004030651A (ja) | 外部xml有効性検証装置を利用するxmlパージング装置及び方法 | |
US11263062B2 (en) | API mashup exploration and recommendation | |
US8489631B2 (en) | Distributing a query | |
CN104123125A (zh) | 网页资源的获取方法及装置 | |
US20190286687A1 (en) | Identification of sequential browsing operations | |
CN106792225A (zh) | 前端弹幕控制方法及装置 | |
CN108536489B (zh) | 匹配资源环境的方法、装置和计算机可读存储介质 | |
CN108563629A (zh) | 一种日志解析规则自动生成方法和装置 | |
CN103744987A (zh) | 基于dom树匹配的视频网站媒资聚合方法和系统 | |
CN103825772B (zh) | 识别用户点击行为的方法及网关设备 | |
CN103618742B (zh) | 网站管理员权限验证方法 | |
CN106909435B (zh) | 一种网络安全设备命令行的解析方法和装置 | |
CN108388606A (zh) | 一种校验Sql语句中库表字段名的方法以及计算机设备 | |
CN107451473A (zh) | 基于特征模式识别的sql注入检测方法 | |
CN109614560A (zh) | 一种基于nodejs的url传参方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190412 |