ajax開發中在請求server端的響應時, 對於每一種返回類型 規范的做法是要在服務端指定response的contentType 的. (當然 不指定絕大多數情況下也沒什么問題 尤其是返回"非xml"的時候) 。
常遇到以下的幾種情況:
1、 服務端須要返回一段普通文本給client,Content-Type="text/plain"
2 、服務端須要返回一段HTML代碼給client ,Content-Type="text/html"
3 、服務端須要返回一段XML代碼給client ,Content-Type="text/xml"
4 、服務端須要返回一段javascript代碼給client
5 、服務端須要返回一段json串給client
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 在有些時候client處理起來會有歧義. 對於json的contentType , rfc里定義的標准寫法是 :application/json.
在這里毫無疑問 我們應該選擇標准寫法的 application/Json。
@的使用
基本使用
- "@123456"表示輸出123456到頁面
- "@中文english"表示輸出"中文english"到頁面
規范化contentType
- "@json:xxxx"、"@applicaiton/x-json:xxxx"表示輸出content-type為application/x-json的xxx字符串到client
- "@xml:xxxx"、"@application/xml:xxxx" 表示輸出content-type為application/xml的xxxx字符串到client
- "@plain:xxxx"、"@text:xxxxx"、"@text/plain:xxxxx" 表示輸出content-type為text/plain的字符串到client
- "@xxxxx"、"@html:xxxx"、"@text/html:xxxxx" 表示輸出content-type為text/html的字符串到client
我們支持下面Content-Type:json、xml、html、plain、text、全部以text/開始的,比方text/html、text/plain、text/javascript等;全部以application/開頭的,比方applicaton/x-json等,其它的概不支持。
能夠加;charset=UTF-8等修飾
- "@json:xxxx;charset=UTF-8"、"@applicaiton/x-json:xxxx;charset=UTF-8"表示輸出content-type為application/x-json;charset=UTF-8的xxx字符串到client
技巧
- "@text/plain:json:xxxxx"、"@plain:json:xxxxx"、"@text:json:xxxxx"表示輸出content-type為text/plain的"json:xxxxx"到client
