1. 程式人生 > 其它 >response的contentType 幾種型別

response的contentType 幾種型別

在Ashx裡面經常是有

public void ProcessRequest(HttpContext context)
{

  context.Response.ContentType = "application/json";

}

ajax開發中在請求伺服器端的響應時, 對於每一種返回型別 規範的做法是要在服務端指定response的contentType 的. (當然 不指定絕大多數情況下也沒什麼問題 尤其是返回"非xml"的時候) 。

常遇到下面的幾種情況:
1、 服務端需要返回一段普通文字給客戶端,Content-Type="text/plain"
2 、服務端需要返回一段HTML程式碼給客戶端 ,Content-Type="text/html"
3 、服務端需要返回一段XML程式碼給客戶端 ,Content-Type="text/xml"
4 、服務端需要返回一段

JavaScript程式碼給客戶端
5 、服務端需要返回一段json串給客戶端

我們主要討論返回javascript程式碼和Json物件的情況。

javascript 的 contentType 按最標準的寫法 應該是 application/javascript。而常用的 text/javascript 已經被 rfc定義為廢棄的。

但是 在這裡暫時不建議使用 application/javascript . 大家還是繼續使用 text/javascript 為好. 因為很多老舊瀏覽器並不支援 application/javascript . 而所有瀏覽器都支援text/javascript. 在標準和廣泛的相容性之間 還是暫且選擇後者吧。

json 的 contentType 常見寫法有 : text/json & text/javascript .
但是 這個 text/json 其實是根本不存在的, 而 text/javascript 在有些時候客戶端處理起來會有歧義. 對於json的contentType , rfc裡定義的標準寫法是 :application/json.
在這裡毫無疑問 我們應該選擇標準寫法的 application/Json。

@的基本使用

  • "@123456"表示輸出123456到頁面
  • "@中文english"表示輸出"中文english"到頁面 se

規範化contentType

  • "@json:xxxx"、"@applicaiton/x-json:xxxx"表示輸出content-type為application/x-json的xxx字串到客戶端
  • "@xml:xxxx"、"@application/xml:xxxx" 表示輸出content-type為application/xml的xxxx字串到客戶端
  • "@plain:xxxx"、"@text:xxxxx"、"@text/plain:xxxxx" 表示輸出content-type為text/plain的字串到客戶端
  • "@xxxxx"、"@html:xxxx"、"@text/html:xxxxx" 表示輸出content-type為text/html的字串到客戶端

可以加;charset=UTF-8等修飾符

  • "@json:xxxx;charset=UTF-8"、"@applicaiton/x-json:xxxx;charset=UTF-8"表示輸出content-type為application/x-json;charset=UTF-8的xxx字串到客戶端

技巧

  • "@text/plain:json:xxxxx"、"@plain:json:xxxxx"、"@text:json:xxxxx"表示輸出content-type為text/plain的"json:xxxxx"到客戶端