一種數(shù)據(jù)處理的方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)處理的方法和裝置,涉及計(jì)算機(jī)領(lǐng)域,能夠減小客戶端側(cè)代碼修改的工作量。所述方法包括:服務(wù)端接收ajax數(shù)據(jù)請(qǐng)求消息;所述服務(wù)端獲取所述ajax數(shù)據(jù)請(qǐng)求消息對(duì)應(yīng)的數(shù)據(jù);所述服務(wù)端將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一;所述服務(wù)端輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。本發(fā)明用于網(wǎng)頁(yè)訪問(wèn)。
【專利說(shuō)明】一種數(shù)據(jù)處理的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種數(shù)據(jù)處理的方法和裝置。
【背景技術(shù)】
[0002]在Web 2.0時(shí)代,通常利用Ajax技術(shù)來(lái)獲取用戶請(qǐng)求的數(shù)據(jù)。在此過(guò)程中,客戶端會(huì)向服務(wù)端發(fā)出一個(gè)Ajax請(qǐng)求,服務(wù)端接收到所述Ajax請(qǐng)求后會(huì)將所述Ajax請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)返回到客戶端以供客戶端進(jìn)行解析處理。
[0003]在相關(guān)技術(shù)中,服務(wù)端向客戶端返回的數(shù)據(jù)可能具有多種不同的數(shù)據(jù)結(jié)構(gòu)形態(tài),因而,客戶端在對(duì)服務(wù)端返回的數(shù)據(jù)進(jìn)行解析處理時(shí),對(duì)具有不同形態(tài)數(shù)據(jù)結(jié)構(gòu)的各種數(shù)據(jù)可能會(huì)進(jìn)行不同的處理。這樣一來(lái),客戶端側(cè)需要進(jìn)行多次代碼修改,增加了工作量。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)處理的方法和裝置,以減小客戶端側(cè)代碼修改的工作量。
[0005]第一方面,提供一種數(shù)據(jù)處理的方法,所述方法包括:
[0006]服務(wù)端接收ajax數(shù)據(jù)請(qǐng)求消息;
[0007]所述服務(wù)端獲取所述ajax數(shù)據(jù)請(qǐng)求消息對(duì)應(yīng)的數(shù)據(jù);
[0008]所述服務(wù)端將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一;
[0009]所述服務(wù)端輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0010]其中,經(jīng)統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)可包括狀態(tài)、消息、數(shù)據(jù)內(nèi)容這三部分。
[0011]可選地,所述ajax數(shù)據(jù)請(qǐng)求消息中可攜帶callback或var參數(shù)。
[0012]在本發(fā)明的一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback參數(shù),所述輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)可包括:
[0013]以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0014]在本發(fā)明的另一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶var參數(shù),所述輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)包括:
[0015]以Script的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0016]在本發(fā)明的又一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中不攜帶callback和var參數(shù),所述輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)可包括:
[0017]以Json的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0018]第二方面,提供一種數(shù)據(jù)處理的裝置,所述裝置包括:
[0019]接收模塊,用于接收ajax數(shù)據(jù)請(qǐng)求消息;
[0020]處理模塊,用于獲取所述接收模塊接收的所述ajax數(shù)據(jù)請(qǐng)求消息對(duì)應(yīng)的數(shù)據(jù);并將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一;
[0021]輸出模塊,用于輸出經(jīng)所述處理模塊處理的、數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0022]在本發(fā)明的一個(gè)實(shí)施例中,所述處理模塊可具體用于:將所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)統(tǒng)一為:狀態(tài)、消息、數(shù)據(jù)內(nèi)容這三部分。
[0023]在本發(fā)明的另一個(gè)實(shí)施例中,所述處理模塊還可用于:
[0024]確定接收模塊接收的所述ajax數(shù)據(jù)請(qǐng)求消息中是否攜帶callback或var參數(shù);
[0025]所述輸出模塊,還用于:
[0026]若所述處理模塊確定所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback參數(shù),則以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù);
[0027]若所述處理模塊確定所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶var參數(shù),則以Script的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0028]若所述處理模塊確定所述ajax數(shù)據(jù)請(qǐng)求消息中不攜帶callback和var參數(shù),則以Json的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0029]第三方面,提供另一種數(shù)據(jù)處理的方法,所述方法可包括:
[0030]客戶端向服務(wù)端發(fā)送Ajax數(shù)據(jù)請(qǐng)求消息,以使所述服務(wù)端根據(jù)所述Ajax數(shù)據(jù)請(qǐng)求消息,獲取對(duì)應(yīng)的數(shù)據(jù)并將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一;
[0031]所述客戶端接收所述服務(wù)端返回的數(shù)據(jù)結(jié)構(gòu)經(jīng)統(tǒng)一的所述數(shù)據(jù),并進(jìn)行解析處理。
[0032]可選地,在一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback或var參數(shù)。
[0033]第四方面,提供另一種數(shù)據(jù)處理的裝置,所述數(shù)據(jù)處理的裝置可包括:
[0034]發(fā)送模塊,用于向服務(wù)端發(fā)送Ajax數(shù)據(jù)請(qǐng)求消息,以使所述服務(wù)端根據(jù)所述Ajax數(shù)據(jù)請(qǐng)求消息,獲取對(duì)應(yīng)的數(shù)據(jù)并將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一。
[0035]接收模塊,用于接收所述服務(wù)端返回的數(shù)據(jù)結(jié)構(gòu)經(jīng)統(tǒng)一的所述數(shù)據(jù);
[0036]處理模塊,用于對(duì)所述接收模塊接收的數(shù)據(jù)進(jìn)行解析處理。
[0037]可選地,在一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback或var參數(shù)。
[0038]采用上述技術(shù)方案后,本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法和裝置,通過(guò)對(duì)獲取到的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一,并輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的數(shù)據(jù),能夠減小客戶端側(cè)代碼修改的工作量。
【專利附圖】
【附圖說(shuō)明】
[0039]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0040]圖1A是本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法的流程圖;
[0041]圖1B是本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)處理的方法的流程圖;
[0042]圖2是本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法的流程圖;
[0043]圖3是本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的裝置的結(jié)構(gòu)示意圖;
[0044]圖4是本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)處理的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0045]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0046]圖1是本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法的流程圖。參照?qǐng)D1,本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法可包括:
[0047]步驟11、服務(wù)端接收數(shù)據(jù)請(qǐng)求消息。
[0048]具體地,所述數(shù)據(jù)請(qǐng)求消息可以為Ajax數(shù)據(jù)請(qǐng)求消息。
[0049]步驟12、所述服務(wù)端獲取所述ajax數(shù)據(jù)請(qǐng)求消息對(duì)應(yīng)的數(shù)據(jù)。
[0050]步驟13、所述服務(wù)端將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一。
[0051]步驟14、所述服務(wù)端輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0052]在本發(fā)明實(shí)施例中,經(jīng)統(tǒng)一的的數(shù)據(jù)結(jié)構(gòu)可包括狀態(tài)(status)、消息(message)、數(shù)據(jù)內(nèi)容(data)這三部分。其中:
[0053]狀態(tài):依請(qǐng)求而返回的狀態(tài);
[0054]消息:要展示的消息;
[0055]數(shù)據(jù)內(nèi)容:依請(qǐng)求而返回的數(shù)據(jù)內(nèi)容。
[0056]舉例而言,一種經(jīng)過(guò)數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的數(shù)據(jù)輸出可以為:
[0057]{"status": 200, "message":"data": {"username": "luxh", "nickname":"小盧子"}}?
[0058]其中,200表示返回的狀態(tài)為成功。
[0059]另一種經(jīng)過(guò)數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的數(shù)據(jù)輸出可以為:
[0060]{"status": 500,"message"服務(wù)器內(nèi)部異常"","data": {"無(wú)"}}。
[0061]其中,500表示返回的狀態(tài)為內(nèi)部錯(cuò)誤。
[0062]在相關(guān)技術(shù)中,客戶端發(fā)送Ajax請(qǐng)求,服務(wù)端接收到Ajax請(qǐng)求后將數(shù)據(jù)以Json的方式輸出到客戶端,交由客戶端解析處理。由于服務(wù)端框架沒(méi)有規(guī)范數(shù)據(jù)結(jié)構(gòu),導(dǎo)致客戶端解析數(shù)據(jù)時(shí)對(duì)各種數(shù)據(jù)的處理方式可能都不一樣,如此,增加了客戶端側(cè)代碼修改的工作量。本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法,通過(guò)服務(wù)端對(duì)獲取到的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一,并輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的數(shù)據(jù),能夠減小客戶端側(cè)代碼修改的工作量。
[0063]當(dāng)數(shù)據(jù)請(qǐng)求涉及到跨域的場(chǎng)景時(shí),在相關(guān)技術(shù)中,還需要對(duì)服務(wù)端側(cè)代碼進(jìn)行重新開(kāi)發(fā)。本發(fā)明實(shí)施例在不需要進(jìn)行跨域時(shí),可以不攜帶參數(shù);而在需要進(jìn)行跨域時(shí)可以在ajax數(shù)據(jù)請(qǐng)求消息中攜帶相關(guān)參數(shù),如此通過(guò)參數(shù)的指示即可完成相應(yīng)的跨域的數(shù)據(jù)請(qǐng)求,無(wú)需修改服務(wù)端側(cè)的代碼。
[0064]可選地,在本發(fā)明的一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中可攜帶callback參數(shù),步驟14中所述輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)可包括:
[0065]以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0066]在本發(fā)明的另一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶var參數(shù),步驟14中所述輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)可包括:
[0067]以Script的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0068]在本發(fā)明的又一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中不攜帶callback和var參數(shù),步驟14中所述輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)可包括:
[0069]以Json的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0070]本發(fā)明實(shí)施例中,在ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback參數(shù)或var參數(shù),通過(guò)確定所述ajax數(shù)據(jù)請(qǐng)求消息中是否攜帶callback或var參數(shù);若確定出所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback參數(shù),則以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù);若確定出所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶var參數(shù),則以Script的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù);若確定出所述ajax數(shù)據(jù)請(qǐng)求消息中不攜帶callback和var參數(shù),則以Json的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。如此,即可根據(jù)攜帶不同參數(shù)的ajax數(shù)據(jù)請(qǐng)求消息,實(shí)現(xiàn)對(duì)數(shù)據(jù)按照不同的方式進(jìn)行輸出。
[0071]此外,參照?qǐng)D1B,本發(fā)明實(shí)施例還提供一種基于客戶端的數(shù)據(jù)處理的方法,所述方法可包括:
[0072]17、客戶端向服務(wù)端發(fā)送Ajax數(shù)據(jù)請(qǐng)求消息,以使所述服務(wù)端根據(jù)所述Ajax數(shù)據(jù)請(qǐng)求消息,獲取對(duì)應(yīng)的數(shù)據(jù)并將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一。
[0073]18、所述客戶端接收所述服務(wù)端返回的數(shù)據(jù)結(jié)構(gòu)經(jīng)統(tǒng)一的所述數(shù)據(jù),并進(jìn)行解析處理。
[0074]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法,由于客戶端進(jìn)行解析處理的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行了統(tǒng)一,因而能夠減小客戶端側(cè)代碼修改的工作量。
[0075]可選地,在一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback或var參數(shù)。這樣,服務(wù)端可根據(jù)所述callback或var參數(shù),以Jsonp的數(shù)據(jù)格式或Script的數(shù)據(jù)格式完成數(shù)據(jù)輸出。從而,所述客戶端可完成跨域請(qǐng)求。
[0076]圖2是本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法的流程圖。本實(shí)施例結(jié)合Springmvc (Model View Controller,模型-視圖-控制器)使用,在Spring mvc的視圖之上實(shí)現(xiàn)JsonView視圖,并將輸出數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)統(tǒng)一為狀態(tài)、消息和數(shù)據(jù)內(nèi)容這三部分;同時(shí),允許在請(qǐng)求時(shí)通過(guò)傳遞參數(shù)callback或var來(lái)控制數(shù)據(jù)是以Jsonp還是script的形式輸出。統(tǒng)一了客戶端SDK (Software Development Kit,即軟件開(kāi)發(fā)工具包)對(duì)Ajax請(qǐng)求數(shù)據(jù)的解析并使得系統(tǒng)在跨域情況下,無(wú)需修改服務(wù)端側(cè)代碼,只需在客戶端發(fā)送請(qǐng)求時(shí)增加參數(shù),即可完成跨域請(qǐng)求。
[0077]參照?qǐng)D2,本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法包括:
[0078]21、客戶端發(fā)送Ajax數(shù)據(jù)請(qǐng)求。
[0079]22、服務(wù)端側(cè)Sprig MVC接收到所述Ajax數(shù)據(jù)請(qǐng)求后,根據(jù)請(qǐng)求獲取數(shù)據(jù),并以JsonView形式返回?cái)?shù)據(jù)。
[0080]23、服務(wù)端進(jìn)入JsonView解析。
[0081]24、服務(wù)端判斷用戶請(qǐng)求中是否攜帶callback參數(shù)。如果攜帶,則執(zhí)行步驟241,即以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)。若不攜帶,則執(zhí)行步驟242。
[0082]241、服務(wù)端向客戶端以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)。
[0083]242、服務(wù)端判斷請(qǐng)求中是否攜帶var參數(shù)。如果攜帶,則執(zhí)行步驟2421,即以script的數(shù)據(jù)格式輸出數(shù)據(jù)。如果不攜帶var參數(shù),則執(zhí)行步驟2422以json的格式輸出數(shù)據(jù)。
[0084]2421、服務(wù)端向客戶端以script的數(shù)據(jù)格式輸出數(shù)據(jù)。
[0085]2422、服務(wù)端向客戶端以json的格式輸出數(shù)據(jù)。
[0086]客戶端接收所述服務(wù)端返回的所述輸出數(shù)據(jù),并進(jìn)行解析處理。
[0087]下面舉例說(shuō)明以各種不同方式輸出的數(shù)據(jù)。
[0088]Json數(shù)據(jù)輸出示例:
[0089]不例請(qǐng)求 URL:http://message, game.yy.com/test/json.do
[0090]{"status": 200, "message":"data": {"username": "luxh", "nickname":"小盧子"}}?
[0091]Jsonp數(shù)據(jù)輸出示例:
[0092]不例請(qǐng)求 URL:http://message.game.yy.com/test/json.do ? callback =callbacks
[0093]callbacks ({"status":200,"message":"",
[0094]"data": {"username": "luxh", "nickname": 〃 小盧子"}})。
[0095]Script數(shù)據(jù)輸出示例:
[0096]不例請(qǐng)求 URL:http://message, game.yy.com/test/json.do ? var = abc
[0097]var abc = {"status":200,"message":"","data":{"username":"luxh",^nickna1^〃:〃小盧子〃}}。
[0098]在上面示例中,客戶端在接收到服務(wù)端的Jsonp數(shù)據(jù)輸出后,即可根據(jù)callbacks({"status": 200, "message": ,"data": {"username": "luxh", "nickname":,r 小盧子"}})完成跨域請(qǐng)求。同樣地,客戶端在接收到服務(wù)端的Script數(shù)據(jù)輸出后,也可根據(jù)var abc={"status": 200, "message": ”", "data": {"username": "luxh", "nickname": ” 小盧子}完成跨域請(qǐng)求。
[0099]以上各個(gè)示例僅是便于理解,并不意為限定。本領(lǐng)域技術(shù)人員可根據(jù)上述示例想到其他示例,這些都在本發(fā)明的保護(hù)范圍之內(nèi)。
[0100]本發(fā)明實(shí)施例中,在ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback參數(shù)或var參數(shù),通過(guò)確定所述ajax數(shù)據(jù)請(qǐng)求消息中是否攜帶callback或var參數(shù);若確定出所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback參數(shù),則以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù);若確定出所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶var參數(shù),則以Script的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù);若確定出所述ajax數(shù)據(jù)請(qǐng)求消息中不攜帶callback和var參數(shù),則以Json的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。如此,即可根據(jù)攜帶不同參數(shù)的ajax數(shù)據(jù)請(qǐng)求消息,實(shí)現(xiàn)對(duì)數(shù)據(jù)按照不同的方式進(jìn)行輸出。此外,客戶端側(cè)也可根據(jù)Json的數(shù)據(jù)格式輸出或Script的數(shù)據(jù)格式輸出完成跨域請(qǐng)求。
[0101]圖3是本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理的裝置的結(jié)構(gòu)框圖。參照?qǐng)D3,本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的裝置30可以為服務(wù)端,且可包括接收模塊31、處理模塊32以及輸出模塊33。其中:
[0102]接收模塊31,用于接收ajax數(shù)據(jù)請(qǐng)求消息;
[0103]處理模塊32,用于獲取所述接收模塊31接收的所述ajax數(shù)據(jù)請(qǐng)求消息對(duì)應(yīng)的數(shù)據(jù);并將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一;
[0104]輸出模塊33,用于輸出經(jīng)所述處理模塊32處理的、數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0105]其中,所述處理模塊32可具體用于:將所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)統(tǒng)一為:狀態(tài)、消息、數(shù)據(jù)內(nèi)容這三部分。
[0106]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的裝置,通過(guò)對(duì)獲取到的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一,并輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的數(shù)據(jù),能夠減小客戶端側(cè)代碼修改的工作量。
[0107]在本發(fā)明的一個(gè)實(shí)施例中,所述處理模塊32可還用于:
[0108]確定接收模塊31接收的所述ajax數(shù)據(jù)請(qǐng)求消息中是否攜帶callback或var參數(shù);
[0109]所述輸出模塊33,還用于:
[0110]若所述處理模塊32確定所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback參數(shù),則以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù);
[0111]若所述處理模塊32確定所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶var參數(shù),貝U以Script的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0112]若所述處理模塊32確定所述ajax數(shù)據(jù)請(qǐng)求消息中不攜帶callback和var參數(shù),則以Json的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
[0113]此外,參照?qǐng)D4,本發(fā)明實(shí)施例還提供另一種數(shù)據(jù)處理的裝置40,所述數(shù)據(jù)處理的裝置40可以是客戶端且可包括:
[0114]發(fā)送模塊41,用于向服務(wù)端發(fā)送Ajax數(shù)據(jù)請(qǐng)求消息,以使所述服務(wù)端根據(jù)所述Ajax數(shù)據(jù)請(qǐng)求消息,獲取對(duì)應(yīng)的數(shù)據(jù)并將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一。
[0115]接收模塊42,用于接收所述服務(wù)端返回的數(shù)據(jù)結(jié)構(gòu)經(jīng)統(tǒng)一的所述數(shù)據(jù);
[0116]處理模塊43,用于對(duì)所述接收模塊接收的數(shù)據(jù)進(jìn)行解析處理。
[0117]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的裝置,由于進(jìn)行解析處理的數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)已進(jìn)行了統(tǒng)一,因而能夠減小客戶端側(cè)代碼修改的工作量。
[0118]可選地,在一個(gè)實(shí)施例中,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback或var參數(shù)。這樣,服務(wù)端可根據(jù)所述callback或var參數(shù),以Jsonp的數(shù)據(jù)格式或Script的數(shù)據(jù)格式完成數(shù)據(jù)輸出。從而,所述數(shù)據(jù)處理的裝置可完成跨域請(qǐng)求。
[0119]需要說(shuō)明的是:上述實(shí)施例提供的數(shù)據(jù)傳輸?shù)难b置僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將所述數(shù)據(jù)處理的裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的數(shù)據(jù)處理的裝置與數(shù)據(jù)處理的方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
[0120]需要說(shuō)明的是,本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于裝置類(lèi)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0121 ] 需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0122]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過(guò)硬件來(lái)完成,也可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤(pán)或光盤(pán)等。
[0123]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種數(shù)據(jù)處理的方法,其特征在于,所述方法包括: 服務(wù)端接收ajax數(shù)據(jù)請(qǐng)求消息; 所述服務(wù)端獲取所述ajax數(shù)據(jù)請(qǐng)求消息對(duì)應(yīng)的數(shù)據(jù); 所述服務(wù)端將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一; 所述服務(wù)端輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,經(jīng)統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)包括狀態(tài)、消息、數(shù)據(jù)內(nèi)容這三部分。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback 或 var 參數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback參數(shù),所述輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)包括: 以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶var參數(shù),所述輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)包括: 以Script的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述ajax數(shù)據(jù)請(qǐng)求消息中不攜帶callback和var參數(shù),所述輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)包括: 以Json的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
7.一種數(shù)據(jù)處理的裝置,其特征在于,所述裝置包括: 接收模塊,用于接收ajax數(shù)據(jù)請(qǐng)求消息; 處理模塊,用于獲取所述接收模塊接收的所述ajax數(shù)據(jù)請(qǐng)求消息對(duì)應(yīng)的數(shù)據(jù);并將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一; 輸出模塊,用于輸出經(jīng)所述處理模塊處理的、數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述處理模塊具體用于:將所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)統(tǒng)一為:狀態(tài)、消息、數(shù)據(jù)內(nèi)容這三部分。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述處理模塊還用于: 確定接收模塊接收的所述ajax數(shù)據(jù)請(qǐng)求消息中是否攜帶callback或var參數(shù); 所述輸出模塊,還用于: 若所述處理模塊確定所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶callback參數(shù),則以Jsonp的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù); 若所述處理模塊確定所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶var參數(shù),則以Script的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。 若所述處理模塊確定所述ajax數(shù)據(jù)請(qǐng)求消息中不攜帶callback和var參數(shù),則以Json的數(shù)據(jù)格式輸出數(shù)據(jù)結(jié)構(gòu)統(tǒng)一的所述數(shù)據(jù)。
10.一種數(shù)據(jù)處理的方法,其特征在于,所述方法包括: 客戶端向服務(wù)端發(fā)送Ajax數(shù)據(jù)請(qǐng)求消息,以使所述服務(wù)端根據(jù)所述Ajax數(shù)據(jù)請(qǐng)求消息,獲取對(duì)應(yīng)的數(shù)據(jù)并將獲取的所述數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行統(tǒng)一; 所述客戶端接收所述服務(wù)端返回的數(shù)據(jù)結(jié)構(gòu)經(jīng)統(tǒng)一的所述數(shù)據(jù),并進(jìn)行解析處理。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述ajax數(shù)據(jù)請(qǐng)求消息中攜帶
bOTri λλτ^τ^π τ τri^
【文檔編號(hào)】G06F17/30GK104376056SQ201410616964
【公開(kāi)日】2015年2月25日 申請(qǐng)日期:2014年11月4日 優(yōu)先權(quán)日:2014年11月4日
【發(fā)明者】盧軒華 申請(qǐng)人:廣州華多網(wǎng)絡(luò)科技有限公司