一种请求发送方法及装置与流程

文档序号:11154313阅读:309来源:国知局
一种请求发送方法及装置与制造工艺

本发明涉及计算机技术领域,尤其涉及一种请求发送方法及装置。



背景技术:

AngularJS是开发基于浏览器的响应式RWD应用程序的一个前端MVC框架,由谷歌最初开发的开源项目,干净的架构吸引了大量粉丝,适合建立CRUD类型的业务应用程序,并不适合开发游戏等应用,使用声明性编程的用户界面和命令式编程的逻辑,支持现代桌面和移动浏览器Internet Explorer版本8.0及以上。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

由于webapi实现restful风格,更简洁,更有层次,更易于实现缓存等机制,目前十分流行。使用webapi开发可实现前后台完全分离,后台只专注于接口开发,前端只专注于数据展示。但是在angularjs中实现一些同时处理多条数据的指令时,就显得相对繁琐和不便了。例如在发送多条的delete请求时,需要将多条的数据组成一个数组传到后台去,但在angularjs中的$http.delete(url,[config])不支持直接传数据到后台,而是需要将参数放到url进行传递,如需传送一个数据[1,2,3],就需要将该数据序列化成ids=1&ids=2&ids=3,再将该字符串添加到url中拼出url api/xxx?ids=1&ids=2&ids=3,再由$http.delete(url,[config])发送至后台进行处理。对于这样的请求发送方式,将请求的内容直接以明文的方式出现在url上会导致数据传输的安全性降低,同时,由于url最大长度为2048个字节,所能携带的信息量有限,无法一次性的发送大量请求数据信息。



技术实现要素:

有鉴于此,本发明提供一种请求发送方法及装置,主要目的在于实现 在angularjs框架内安全、简便的发送批量请求数据,从而提高控制端与处理端的数据传递效率。

为达到上述目的,本发明主要提供如下技术方案:

一方面,本发明提供了一种请求发送方法,该方法包括:

选择预置的请求对象,所述请求对象中包括有批量获取的控制端指令信息;

将所述请求对象注入基于angularjs框架下的服务组件中;

利用所述服务组件,将所述请求对象发送到处理端,以便由所述处理端根据所述请求对象中的指令信息执行数据操作。

另一方面,本发明还提供了一种请求发送装置,该装置包括:

选择单元,用于选择预置的请求对象,所述请求对象中包括有批量获取的控制端指令信息;

添加单元,用于将所述选择单元选择的请求对象注入基于angularjs框架下的服务组件中;

发送单元,用于利用所述添加单元生成服务组件,将所述请求对象发送到处理端,以便由所述处理端根据所述请求对象中的指令信息执行数据操作。

依据上述本发明所提出的一种请求发送方法及装置,通过建立请求对象来获取控制端的指令信息,并通过在angularjs框架下的服务组件将请求对象发送至处理端,由处理端对请求对象中的指令信息进行解析并执行。通过此方法,通过将请求的内容封装在请求对象中首先可以有效解决现有的请求发送技术中在url中以明文形式出现的请求内容导致的数据安全性低的问题,提高了请求发送过程中的数据安全性。其次,通过请求对象发送的数据内容在数据容量上不受限制,数据的格式也可以是多样化的,解决了现有的请求发送技术中使用url发送数据的格式单一,且长度受限,只有2048个字节容量的弊端。因此本发明所采用的请求发送方法及装置能够有效地提高数据发送的效率以及在发送过程中的安全性。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提出的一种请求发送方法的流程图;

图2示出了本发明实施例提出的另一种请求发送方法的流程图;

图3示出了本发明实施例提出的一种请求发送装置的组成框图;

图4示出了本发明实施例提出的另一种请求发送装置的组成框图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种请求发送方法,如图1所示,该方法应用在基于AngularJS框架内的控制端与处理端的请求发送与接收技术中,具体步骤包括:

101、选择预置的请求对象。

所述请求对象中包括有批量获取的控制端指令信息;

在本发明实施例中,基于AngularJS框架内的控制端与处理端,也称为系统的前台与后台或者是客户端与服务端,控制端用于接收用户的控制指令,处理端用于执行该控制指令。其中,控制端与处理端可以同时设置在一台计算设备中,也可以分别设置在不同的计算设备中,通过远程的链接进行数据的发送与接收。由于存在数据的传递过程,因此,数据传递的效率以及数据的传递安全性就成为了系统交互效率的重要指标。在现有的AngularJS框架中,发送请求的方式主要是通过url进行数据的传递。而这种方式在进行大量的数据或是非字符串格式的数据时就显得无能为力或是需要对数据进行复杂处理后再向处理端进行发送了。

本发明实施例,是在控制端设置请求对象,通过请求对象获取控制端的指令信息。再将含有指令信息的请求对象发送至后台处理端。通过发送请求对象避免了直接将请求的内容暴露在所发送的信息中,提高了数据发送的安全性。而使用请求对象的另一大优点在于通过对象所获取到的控制端的指令信息的数量与格式将不受限制。不用考虑数据是否大于2048个字符,对于不同格式的数据内容,也可以通过在请求对象中加入内容格式的设置说明,以告知处理端采用对应的处理方式来处理请求数据的内容。

102、将请求对象注入基于angularjs框架下的服务组件中。

基于angularjs框架下的服务组件用于处理控制端的一些Web应用的通用操作,其中包括传递数据信息的组件,如$http,用于向Web服务器发起一个http请求。在本发明实施例中,就可以将101中的请求对象通过服务组件$http进行发送。对于请求对象的注入方式,是angularjs中的服务组件特有的技术功能,可参考关于angularjs具体操作教程,对此技术本实施例中不做具体说明。

103、利用所述服务组件,将所述请求对象发送到处理端,以便由所述处理端根据所述请求对象中的指令信息执行数据操作。

将所述请求对象发送至处理端,由处理端根据请求对象中所包含的指令信息执行具体操作。对于服务组件将请求对象从控制端发送到处理端的方式是angularjs的内部机制,为现有技术,本发明实施例对此不做具体的说明。

结合上述的实现方式可以看出,本发明实施例所采用的一种请求发送方法,通过建立请求对象来获取控制端的指令信息,并通过在angularjs框架下的服务组件将请求对象发送至处理端,由处理端对请求对象中的指令信息进行解析并执行。通过此方法,通过将请求的内容封装在请求对象中首先可以有效解决现有的请求发送技术中在url中以明文形式出现的请求内容导致的数据安全性低的问题,提高了请求发送过程中的数据安全性。其次,通过请求对象发送的数据内容在数据容量上不受限制,数据的格式也可以是多样化的,解决了现有的请求发送技术中使用url发送数据的格式单一,且长度受限,只有2048个字节容量的弊端。因此本发明所采用的请求 发送方法能够有效地提高数据发送的效率以及在发送过程中的安全性。

为了更加详细地说明本发明提出的一种请求发送方法,本发明实施例以发送delete请求为例进行具体说明,如图2所示,该方法包括:

201、创建至少一个请求对象。

在控制端设置请求对象,该请求对象的内容主要包括:

1.定义请求对象的名称,用于将该对象与其他的请求对象加以区分。

2.设置请求对象获取控制端的指令类别,由于在AngularJS框架中发送的数据基本方式有:查找操作GET,修改操作POST,增加操作PUT和删除操作DELETE,因此,一个请求对象所获取的控制端指令为上述四种中的一种。而通过上述的四种操作类别,控制端向处理端的发送方式也可以根据这四种方式加以定义。不同的方式代表不同的操作。

3.设置处理端接收请求对象的接口参数,一个请求对象在向处理端发送前,首先需要确定的就是处理端的接收接口,一般的,通过确定固定的API接口(Application Programming Interface,应用程序编程接口),来确定控制端与处理端的信息发送通道。

4.设置请求对象获取指令参数的格式,用于告知处理端数据内容的具体格式,例如,参数的格式可以为数组,或者是字符串,还可以是对象、集合等。

5.为指令参数分配存储空间,即确定要发送给处理端的指令参数的内容。

在上述的设置内容中,第2项与第3项用于确定控制端与处理端之间的连接通道与发送方式,而第4项与第5项则用于确定所发送的指令参数的格式与内容。

经过上述的设置,就可以基本完成一个请求对象的创建内容。下面,通过具体的例子加以说明:

其中,“req”为请求对象的名称。“method:'delete'”为设置method属性值为delete,即设置请求对象获取控制端的指令为删除操作,且向处理端发送的方式为删除类的方式。“url:'api/xxx'”是定义url属性,值为请求的url,即设置处理端接收请求对象的api接口的地址为'api/xxx'。“headers:{'Content-Type':'application/json;charset=utf-8'}”是设置headers属性,将headers的默认值更改为'Content-Type':application/json;charset=utf-8',即设置请求对象获取指令参数的格式,通过该设置,处理端就可以知道对于该对象需要采用json格式来解析数据,同时定义该数据的字符编码格式为utf-8。“data:[1,2,3]”是定义data属性,值为要传到后台的数据,即[1,2,3]这个数组。最后,该请求对象还定义了又处理端所返回的处理结果内容,即在处理端操作成功时,执行“function(res)”,以获取处理端返回的“res”数据,在处理端操作失败时,执行“function(error)”以获取处理端返回的“error”数据。

202、将请求对象添加到请求对象列表中。

根据发送方式或发送内容的区别,可以先创建好一些基础的请求对象模板,在这些请求对象中可以先预置一些相对固定的参数。将这些基础对象创建好后,将其制作成列表,以方便使用者的选取。

203、在请求对象列表中选择请求对象。

根据在请求对象列表中所选的请求对象,由于该对象中的内容是模板化的,因此,需要根据具体的指令参数内容进行对应的调整,也可以将该请求对象设置成可自动获取指令参数的模式。例如,将具体的data内容设置为一个调用函数,通过该函数来取值。

通过上述的具体示例可以看出,请求对象中所包含的指令信息主要有两大内容:为指令和指令参数,指令就是具体的操作类型,为delete,即删除操作。而指令参数为数组[1,2,3]。

204、将请求对象注入基于angularjs框架下的服务组件中。

在完成了请求对象的创建与设置后,只需要将该请求对象注入到相应的服务组件中,如上述所提到的$http服务,将请求对象req添加到$http服务中,得到$http(req),通过angularjs框架下将$http(req)从控制端发送给处理端。

205、利用所述服务组件,将所述请求对象发送到处理端,以便由所述处理端根据所述请求对象中的指令信息执行数据操作。

在控制端接收到请求对象后,根据对象的具体设置,能够将对象中的指令参数进行解析,并根据具体的指令进行操作,完成后,再将结果反馈给控制端。

进一步的,作为对上述方法的实现,本发明实施例提供了一种请求发送装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置设置在基于AngularJS框架内的控制端与处理端中,如图3所示,该装置包括:

选择单元31,用于选择预置的请求对象,所述请求对象中包括有批量获取的控制端指令信息;

添加单元32,用于将所述选择单元31选择的请求对象注入基于angularjs框架下的服务组件中;

发送单元33,用于利用所述添加单元32生成服务组件,将所述请求对象发送到处理端,以便由所述处理端根据所述请求对象中的指令信息执行数据操作。

进一步的,如图4所示,在所述选择预置的请求对象之前,所述装置还包括:

创建单元34,用于在所述选择单元31选择预置的请求对象之前创建至少一个请求对象;

所述添加单元32还用于,将所述创建单元创建的请求对象添加到请求对象列表中。

进一步的,如图4所示,所述创建单元34包括:

定义模块341,用于定义请求对象的名称;

设置模块342,用于设置所述定义模块341定义有名称的请求对象获取控制端的指令类别;

所述设置模块342还用于,设置处理端接收所述请求对象的接口参数;

所述设置模块342还用于,设置所述请求对象获取指令参数的格式。

进一步的,如图4所示,所述选择单元31包括:

选择模块311,用于选择所述请求对象列表中的一个请求对象;

执行模块312,用于执行由所述选择模块选择的请求对象,批量获取的控制端指令信息,所述指令信息包括控制端的指令和指令参数。

进一步的,所述添加单元32还用于,将所述请求对象注入$http服务中,所述$http服务为angularjs框架下的一种用于进行数据交互的服务组件。

进一步的,所述设置模块342中设置所述请求对象获取控制端的指令类别包括:查找操作,修改操作,增加操作和删除操作。

综上所述,本发明实施例所采用的请求发送方法及装置,通过建立请求对象来获取控制端的指令信息,并通过在angularjs框架下的服务组件将请求对象发送至处理端,由处理端对请求对象中的指令信息进行解析并执行。通过此方法,通过将请求的内容封装在请求对象中首先可以有效解决现有的请求发送技术中在url中以明文形式出现的请求内容导致的数据安全性低的问题,提高了请求发送过程中的数据安全性。其次,通过请求对象发送的数据内容在数据容量上不受限制,数据的格式也可以是多样化的,解决了现有的请求发送技术中使用url发送数据的格式单一,且长度受限,只有2048个字节容量的弊端。因此本发明实施例所采用的请求发送方法及 装置能够有效地提高数据发送的效率以及在发送过程中的安全性。

所述一种请求发送方法及装置包括处理器和存储器,上述选择单元、添加单元和发送单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现在angularjs框架内安全、简便的发送批量请求数据,从而提高控制端与处理端的数据传递效率。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:选择预置的请求对象,所述请求对象中包括有批量获取的控制端指令信息;将所述请求对象注入基于angularjs框架下的服务组件中;利用所述服务组件,将所述请求对象发送到处理端,以便由所述处理端根据所述请求对象中的指令信息执行数据操作。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个 机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读 介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1