1. 程式人生 > >利用伺服器返回header來傳輸資料

利用伺服器返回header來傳輸資料

提醒:本文最後更新於 3750 天前,文中所描述的資訊可能已發生改變,請謹慎使用。

在Ajax程式設計時,經常需要從服務端獲取資料。通常情況下,我們是直接把要傳輸的資料放在response正文中,再用responseText或者responseXML來得到內容。最近偶然發現,有時候也可以把資料放在header裡,而且一些情況下這樣做更有優勢。

header是伺服器以HTTP協議傳送HTML資料到瀏覽器前所送出的字串,在php中我們可以這麼傳送自定義header:

header("author:Jerry Qu");

然後在客戶端,正常的建立一個Ajax請求,所不同的地方是callback中獲取資料改成:

var a = new Ajax();
a.get("test.php",function(){
    alert(a.req.getResponseHeader("author"));
});

這樣就能取到author的值了。

Javascript中跟response header有關的就兩個方法:

getResponseHeader 從響應資訊中獲取指定的http頭 語法 strValue = oXMLHttpRequest.getResponseHeader(bstrHeader);

getAllResponseHeaders 獲取響應的所有http頭 語法 strValue = oXMLHttpRequest.getAllResponseHeaders();

通過header可以傳多少資料呢?我測試了一下,在firefox中如果超過10232個英文字元,客戶端就取不到資料了,IE中測試了100W個字元依然可以,所以基本還是夠用的。另外,我也測試過一次傳送1000個自定義header,IE和FF中都能正常取到值。如果你想得到http header的更多資訊,建議閱讀這篇文件

這樣做的優點呢?通常如果用Ajax來post資料,服務端返回json格式字串的情況下,在瀏覽器中輸入request的地址,使用者就會看到那堆奇怪的程式碼。在頁面丟失js時這種現象很常見。但是把返回資料放在header裡就不會有這個問題,反正header不會展示出來。正文裡可以隨意的放些什麼內容,哪怕是放一段自動轉向JS也沒關係,這樣使用者體驗要稍好一些。

--EOF--

提醒:本文最後更新於 3750 天前,文中所描述的資訊可能已發生改變,請謹慎使用。

相關推薦

利用伺服器返回header傳輸資料

提醒:本文最後更新於 3750 天前,文中所描述的資訊可能已發生改變,請謹慎使用。 在Ajax程式設計時,經常需要從服務端獲取資料。通常情況下,我們是直接把要傳輸的資料放在response正文中,再用responseText或者responseXML來得到內容。最近偶然發現,有時候也可以把資料放在h

flash利用crossdomain.xml跨域傳輸資料

使用crossdomain.xml讓Flash可以跨域傳輸資料 本文來自http://www.mzwu.com/article.asp?id=975 本文來自https://www.cnblogs.com/jiuyi/p/6068190.html 一、概述 位於www.mzwu

Android向伺服器的資料庫MySQL傳輸資料:經過修正的 Android + HTTP + xampp +mysql : Post / Get

查閱了很多資料,修改了別人的程式碼,終於實現了android向阿里雲伺服器的資料傳輸功能。以下說說自己的步驟: 1、軟硬體環境 Android Studio 3.2.2 阿里雲伺服器 ( Windows Sever 2012 ) 軟體整合包XAMPP(Apach、 MySql)

利用fiddler 截獲微信傳輸資料 (方便抓取公眾號資訊)

前言:本文章是搭配《批量獲取微信公眾號》一文,介於群裡朋友很熱情,我就趁著上班測完bug 來撰寫該文章,那麼讀完本文,你會學習到什麼呢? 什麼是fiddler,他和其他抓包軟體有什麼區別,如何使用fiddler進行抓包如何利用fiddler抓取https 的流量,如何安裝

ajax如何處理伺服器返回的3種資料格式

       這篇東西本身是非常基礎的,但是經常在處理ajax返回值的時候還是會犯各種小錯誤,所以就想到把這些方法結合以前寫過的程式碼片段整理一下,方便以後複習和使用。另外呢,雖然能搜到很多類似的文件,但是整理一份自己的還是墜吼的= ̄ω ̄= ajax方法的引數 常用

iOS 處理伺服器返回的浮點數資料

iOS開發遇到的一個問題: 對伺服器返回的價格資料,直接轉為字串儲存展示,伺服器轉過來的價格 如9.89,儲存為字串之後 變為了9.890000000000001。 處理過程為: 伺服器返回的json 資料 為 responseString = {“co

利用JDBC連線實現跨伺服器跨資料庫跨表資料傳輸

  如題  我現在有兩個伺服器 A和B 我現在要把A伺服器上的某一個庫裡面的所有的表及結構及資料 匯入另外一個伺服器上,實現原理利用原始JDBC 完成 程式碼類:  回家再擼 目前在公司 。。 下班    哈哈 晚上吃了點飯 就回來

利用keep-alive activated解決頁面返回資料丟失的問題

keep-alive 可以快取頁面的資料,在頁面回跳的時候不會更新資料 activated 在開啟keep-alive時頁面不會重新渲染 也不會進入生命週期 無法監聽資料改變怎麼辦?使用activated來監聽即可 this.$router.push({name:'test',query:{id:123}})

頁面訪問伺服器返回json格式資料太大,導致資料不全被截斷,無法展示

問題:頁面展示呼叫查詢方法查詢全部資料的時候一直顯示loading。。。,開啟偵錯程式顯示 Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR,而少部分查詢則正常顯示。 因為資料中有圖片轉成的二進位制陣列,資料比較長,由此懷疑

使用scp命令在mac本機和linux伺服器之間傳輸資料

命令不復雜: 1、從伺服器下載檔案  scp [email protected]:/path/filename /tmp/local_destination  2、上傳本地檔案到伺服器  scp /path/local_filename [email

伺服器之間如何跨國傳輸大檔案資料

跨國大檔案傳輸,是各大企業普遍面臨的問題,其中主要突出的矛盾有: 怎麼保證跨國傳輸的資料可靠性? 怎麼提高跨國傳輸的傳輸效率? 這兩個矛盾,要從底層傳輸協議去分析解決:保證傳輸資料的可靠性,首先你使用的傳輸協議需要是可靠的,比如使用經典的TCP協議,面向連結的可靠的位元組流服務,提供超時

前臺通過form表單向Django後臺傳輸資料,Django處理後返回給前臺

摘要:Django前後臺數據傳遞   通過action將資料傳輸給apitest這個地址,使用get方法傳遞,此處需要傳遞name="request_method"的下拉列表值和name="api_url"的輸入框的值, 注意這裡用name屬性,向Django後臺傳遞時需要用name的值作為鍵

在Unity3d中使用GZip壓縮傳輸資料

因為Unity中的.net支援是有限制的,所以C#自帶的GZip的壓縮方法不能夠使用。          可以到下面網址去下載一個專門的dll來處理資料的GZip壓縮: 將下載的dll檔案

Matlab利用plot繪製正負樣本散點圖分析資料

data在.txt檔案中內容如下: data= 34.6236596245170 78.0246928153624 0 30.2867107682261 43.8949975240010 0 35.8474087699387 72

如何啟動一個node伺服器mock資料

在現如今前後端分離的時代,前後端各自開發,難免有事出現進度不一致的情況,當前端需要資料,而後端還沒寫出介面的時候,無需等待,只要定義好資料結構,前端就可以啟動一個node伺服器,自由的玩耍啦。1,瞭解一下node先node是執行在服務端的javascript,說到底node.

利用 GCC 的 __attribute__ 屬性的section選項 控制 資料區的基地址

http://bigbluesmth.bokee.com/5590910.html 利用 GCC 的 __attribute__ 屬性的section選項  來控制 資料區的基地址 樣例程式碼 file: test.section.c #include#includein

OC 伺服器返回資料解析

本來我客戶端網路請求用的AFNetworking,預設 manager.responseSerializer = [AFJSONResponseSerializer serializer];//設定返回資料為json 一直資料解析沒出過問題,但是突然有兩個介面

安卓筆記-如何解析伺服器返回的Json資料

第一種方式解析伺服器端傳過來的Json陣列private List<CarInformation> jsonAnalytic(String result) { List<CarInformation> list=new ArrayList<

Cookie的原理解析——利用伺服器傳送的Cookie進行判斷並儲存一些資訊

Cookie (1)Cookie由伺服器端生成,傳送給客戶端。 (2)客戶端將Cookie的key/value 儲存到某個目錄下的文字檔案內。 (3)如果客戶端支援Cookie,下次請求同一網站時就可以Cookie直接傳送給伺服器。 (4)Cookie名稱和值由伺服器端開發

利用圖片傳輸資料的另類思路

提醒:本文最後更新於 1037 天前,文中所描述的資訊可能已發生改變,請謹慎使用。 本部落格之前的《畫素化你的程式碼》文章中,我介紹了一種將文字生成圖片的方法,還提供了一個 Encode/Decode 工具。在那篇文章中,我寫到「這又是一個除了好玩並沒什麼卵用的東西」,確實如此。不過,我今天想到一個