原文出處不詳,anyway,感謝一下作者先。
ajax開發中, 常遇到下面的幾種情況:
1 服務端需要返回一段普通文本給用戶端
2 服務端需要返回一段HTML代碼給用戶端
3 服務端需要返回一段XML代碼給用戶端
4 服務端需要返回一段javascript代碼給用戶端
5 服務端需要返回一段json串給用戶端
對於每一種傳回型別,規範的做法是要在服務端指定 response的contentType。
(當然 不指定絕大多數情況下也沒什麼問題 尤其是返回"非xml"的時候)
代碼
普通文本 : text/plain
HTML代碼 : text/html
XML代碼 : text/xml
以上三個可以說是毫無爭議的, 但是另外兩種情況 就要注意一下了.
javascript 的 contentType 按最標準的寫法 應該是 application/javascript.
而常用的 text/javascript 已經被 rfc定義為廢棄的.
但是,在這裡暫時不建議使用 application/javascript
因為很多老舊瀏覽器並不支援 application/javascript
而所有瀏覽器都支援 text/javascript.
在標準和廣泛的相容性之間 還是暫且選擇後者吧.
json 的 contentType 常見寫法有: text/json & text/javascript .
但是 這個 text/json 其實是根本不存在的, 而 text/javascript 在有些時候用戶端處理起來會有歧義.
對於json的contentType , rfc裡定義的標準寫法是 :application/json.
在這裡毫無疑問 我們應該選擇標準寫法的 application/json
最後,附一下ContentType清單:
常用的:
text/plain<br />text/HTML<br />text/xml<br />test/javascript<br />application/json<br />image/GIF<br />image/JPEG<br />
清單:
".*"="application/octet-stream"<br />".001"="application/x-001"<br />".301"="application/x-301"<br />".323"="text/h323"<br />".906"="application/x-906"<br />".907"="drawing/907"<br />".a11"="application/x-a11"<br />".acp"="audio/x-mei-aac"<br />".ai"="application/postscript"<br />".aif"="audio/aiff"<br />".aifc"="audio/aiff"<br />".aiff"="audio/aiff"<br />".anv"="application/x-anv"<br />".asa"="text/asa"<br />".asf"="video/x-ms-asf"<br />".asp"="text/asp"<br />".asx"="video/x-ms-asf"<br />".au"="audio/basic"<br />".avi"="video/avi"<br />".awf"="application/vnd.adobe.workflow"<br />".biz"="text/xml"<br />".bmp"="application/x-bmp"<br />".bot"="application/x-bot"<br />".c4t"="application/x-c4t"<br />".c90"="application/x-c90"<br />".cal"="application/x-cals"<br />".cat"="application/vnd.ms-pki.seccat"<br />".cdf"="application/x-netcdf"<br />".cdr"="application/x-cdr"<br />".cel"="application/x-cel"<br />".cer"="application/x-x509-ca-cert"<br />".cg4"="application/x-g4"<br />".cgm"="application/x-cgm"<br />".cit"="application/x-cit"<br />".class"="java/*"<br />".cml"="text/xml"<br />".cmp"="application/x-cmp"<br />".cmx"="application/x-cmx"<br />".cot"="application/x-cot"<br />".crl"="application/pkix-crl"<br />".crt"="application/x-x509-ca-cert"<br />".csi"="application/x-csi"<br />".css"="text/css"<br />".cut"="application/x-cut"<br />".dbf"="application/x-dbf"<br />".dbm"="application/x-dbm"<br />".dbx"="application/x-dbx"<br />".dcd"="text/xml"<br />".dcx"="application/x-dcx"<br />".der"="application/x-x509-ca-cert"<br />".dgn"="application/x-dgn"<br />".dib"="application/x-dib"<br />".dll"="application/x-msdownload"<br />".doc"="application/msword"<br />".dot"="application/msword"<br />".drw"="application/x-drw"<br />".dtd"="text/xml"<br />".dwf"="Model/vnd.dwf"<br />".dwf"="application/x-dwf"<br />".dwg"="application/x-dwg"<br />".dxb"="application/x-dxb"<br />".dxf"="application/x-dxf"<br />".edn"="application/vnd.adobe.edn"<br />".emf"="application/x-emf"<br />".eml"="message/rfc822"<br />".ent"="text/xml"<br />".epi"="application/x-epi"<br />".eps"="application/x-ps"<br />".eps"="application/postscript"<br />".etd"="application/x-ebx"<br />".exe"="application/x-msdownload"<br />".fax"="image/fax"<br />".fdf"="application/vnd.fdf"<br />".fif"="application/fractals"<br />".fo"="text/xml"<br />".frm"="application/x-frm"<br />".g4"="application/x-g4"<br />".gbr"="application/x-gbr"<br />".gcd"="application/x-gcd"<br />".gif"="image/gif"<br />".gl2"="application/x-gl2"<br />".gp4"="application/x-gp4"<br />".hgl"="application/x-hgl"<br />".hmr"="application/x-hmr"<br />".hpg"="application/x-hpgl"<br />".hpl"="application/x-hpl"<br />".hqx"="application/mac-binhex40"<br />".hrf"="application/x-hrf"<br />".hta"="application/hta"<br />".htc"="text/x-component"<br />".htm"="text/html"<br />".html"="text/html"<br />".htt"="text/webviewhtml"<br />".htx"="text/html"<br />".icb"="application/x-icb"<br />".ico"="image/x-icon"<br />".ico"="application/x-ico"<br />".iff"="application/x-iff"<br />".ig4"="application/x-g4"<br />".igs"="application/x-igs"<br />".iii"="application/x-iphone"<br />".img"="application/x-img"<br />".ins"="application/x-internet-signup"<br />".isp"="application/x-internet-signup"<br />".IVF"="video/x-ivf"<br />".java"="java/*"<br />".jfif"="image/jpeg"<br />".jpe"="image/jpeg"<br />".jpe"="application/x-jpe"<br />".jpeg"="image/jpeg"<br />".jpg"="image/jpeg"<br />".jpg"="application/x-jpg"<br />".js"="application/x-javascript"<br />".jsp"="text/html"<br />".la1"="audio/x-liquid-file"<br />".lar"="application/x-laplayer-reg"<br />".latex"="application/x-latex"<br />".lavs"="audio/x-liquid-secure"<br />".lbm"="application/x-lbm"<br />".lmsff"="audio/x-la-lms"<br />".ls"="application/x-javascript"<br />".ltr"="application/x-ltr"<br />".m1v"="video/x-mpeg"<br />".m2v"="video/x-mpeg"<br />".m3u"="audio/mpegurl"<br />".m4e"="video/mpeg4"<br />".mac"="application/x-mac"<br />".man"="application/x-troff-man"<br />".math"="text/xml"<br />".mdb"="application/msaccess"<br />".mdb"="application/x-mdb"<br />".mfp"="application/x-shockwave-flash"<br />".mht"="message/rfc822"<br />".mhtml"="message/rfc822"<br />".mi"="application/x-mi"<br />".mid"="audio/mid"<br />".midi"="audio/mid"<br />".mil"="application/x-mil"<br />".mml"="text/xml"<br />".mnd"="audio/x-musicnet-download"<br />".mns"="audio/x-musicnet-stream"<br />".mocha"="application/x-javascript"<br />".movie"="video/x-sgi-movie"<br />".mp1"="audio/mp1"<br />".mp2"="audio/mp2"<br />".mp2v"="video/mpeg"<br />".mp3"="audio/mp3"<br />".mp4"="video/mpeg4"<br />".mpa"="video/x-mpg"<br />".mpd"="application/vnd.ms-project"<br />".mpe"="video/x-mpeg"<br />".mpeg"="video/mpg"<br />".mpg"="video/mpg"<br />".mpga"="audio/rn-mpeg"<br />".mpp"="application/vnd.ms-project"<br />".mps"="video/x-mpeg"<br />".mpt"="application/vnd.ms-project"<br />".mpv"="video/mpg"<br />".mpv2"="video/mpeg"<br />".mpw"="application/vnd.ms-project"<br />".mpx"="application/vnd.ms-project"<br />".mtx"="text/xml"<br />".mxp"="application/x-mmxp"<br />".net"="image/pnetvue"<br />".nrf"="application/x-nrf"<br />".nws"="message/rfc822"<br />".odc"="text/x-ms-odc"<br />".out"="application/x-out"<br />".p10"="application/pkcs10"<br />".p12"="application/x-pkcs12"<br />".p7b"="application/x-pkcs7-certificates"<br />".p7c"="application/pkcs7-mime"<br />".p7m"="application/pkcs7-mime"<br />".p7r"="application/x-pkcs7-certreqresp"<br />".p7s"="application/pkcs7-signature"<br />".pc5"="application/x-pc5"<br />".pci"="application/x-pci"<br />".pcl"="application/x-pcl"<br />".pcx"="application/x-pcx"<br />".pdf"="application/pdf"<br />".pdf"="application/pdf"<br />".pdx"="application/vnd.adobe.pdx"<br />".pfx"="application/x-pkcs12"<br />".pgl"="application/x-pgl"<br />".pic"="application/x-pic"<br />".pko"="application/vnd.ms-pki.pko"<br />".pl"="application/x-perl"<br />".plg"="text/html"<br />".pls"="audio/scpls"<br />".plt"="application/x-plt"<br />".png"="image/png"<br />".png"="application/x-png"<br />".pot"="application/vnd.ms-powerpoint"<br />".ppa"="application/vnd.ms-powerpoint"<br />".ppm"="application/x-ppm"<br />".pps"="application/vnd.ms-powerpoint"<br />".ppt"="application/vnd.ms-powerpoint"<br />".ppt"="application/x-ppt"<br />".pr"="application/x-pr"<br />".prf"="application/pics-rules"<br />".prn"="application/x-prn"<br />".prt"="application/x-prt"<br />".ps"="application/x-ps"<br />".ps"="application/postscript"<br />".ptn"="application/x-ptn"<br />".pwz"="application/vnd.ms-powerpoint"<br />".r3t"="text/vnd.rn-realtext3d"<br />".ra"="audio/vnd.rn-realaudio"<br />".ram"="audio/x-pn-realaudio"<br />".ras"="application/x-ras"<br />".rat"="application/rat-file"<br />".rdf"="text/xml"<br />".rec"="application/vnd.rn-recording"<br />".red"="application/x-red"<br />".rgb"="application/x-rgb"<br />".rjs"="application/vnd.rn-realsystem-rjs"<br />".rjt"="application/vnd.rn-realsystem-rjt"<br />".rlc"="application/x-rlc"<br />".rle"="application/x-rle"<br />".rm"="application/vnd.rn-realmedia"<br />".rmf"="application/vnd.adobe.rmf"<br />".rmi"="audio/mid"<br />".rmj"="application/vnd.rn-realsystem-rmj"<br />".rmm"="audio/x-pn-realaudio"<br />".rmp"="application/vnd.rn-rn_music_package"<br />".rms"="application/vnd.rn-realmedia-secure"<br />".rmvb"="application/vnd.rn-realmedia-vbr"<br />".rmx"="application/vnd.rn-realsystem-rmx"<br />".rnx"="application/vnd.rn-realplayer"<br />".rp"="image/vnd.rn-realpix"<br />".rpm"="audio/x-pn-realaudio-plugin"<br />".rsml"="application/vnd.rn-rsml"<br />".rt"="text/vnd.rn-realtext"<br />".rtf"="application/msword"<br />".rtf"="application/x-rtf"<br />".rv"="video/vnd.rn-realvideo"<br />".sam"="application/x-sam"<br />".sat"="application/x-sat"<br />".sdp"="application/sdp"<br />".sdw"="application/x-sdw"<br />".sit"="application/x-stuffit"<br />".slb"="application/x-slb"<br />".sld"="application/x-sld"<br />".slk"="drawing/x-slk"<br />".smi"="application/smil"<br />".smil"="application/smil"<br />".smk"="application/x-smk"<br />".snd"="audio/basic"<br />".sol"="text/plain"<br />".sor"="text/plain"<br />".spc"="application/x-pkcs7-certificates"<br />".spl"="application/futuresplash"<br />".spp"="text/xml"<br />".ssm"="application/streamingmedia"<br />".sst"="application/vnd.ms-pki.certstore"<br />".stl"="application/vnd.ms-pki.stl"<br />".stm"="text/html"<br />".sty"="application/x-sty"<br />".svg"="text/xml"<br />".swf"="application/x-shockwave-flash"<br />".tdf"="application/x-tdf"<br />".tg4"="application/x-tg4"<br />".tga"="application/x-tga"<br />".tif"="image/tiff"<br />".tif"="application/x-tif"<br />".tiff"="image/tiff"<br />".tld"="text/xml"<br />".top"="drawing/x-top"<br />".torrent"="application/x-bittorrent"<br />".tsd"="text/xml"<br />".txt"="text/plain"<br />".uin"="application/x-icq"<br />".uls"="text/iuls"<br />".vcf"="text/x-vcard"<br />".vda"="application/x-vda"<br />".vdx"="application/vnd.visio"<br />".vml"="text/xml"<br />".vpg"="application/x-vpeg005"<br />".vsd"="application/vnd.visio"<br />".vsd"="application/x-vsd"<br />".vss"="application/vnd.visio"<br />".vst"="application/vnd.visio"<br />".vst"="application/x-vst"<br />".vsw"="application/vnd.visio"<br />".vsx"="application/vnd.visio"<br />".vtx"="application/vnd.visio"<br />".vxml"="text/xml"<br />".wav"="audio/wav"<br />".wax"="audio/x-ms-wax"<br />".wb1"="application/x-wb1"<br />".wb2"="application/x-wb2"<br />".wb3"="application/x-wb3"<br />".wbmp"="image/vnd.wap.wbmp"<br />".wiz"="application/msword"<br />".wk3"="application/x-wk3"<br />".wk4"="application/x-wk4"<br />".wkq"="application/x-wkq"<br />".wks"="application/x-wks"<br />".wm"="video/x-ms-wm"<br />".wma"="audio/x-ms-wma"<br />".wmd"="application/x-ms-wmd"<br />".wmf"="application/x-wmf"<br />".wml"="text/vnd.wap.wml"<br />".wmv"="video/x-ms-wmv"<br />".wmx"="video/x-ms-wmx"<br />".wmz"="application/x-ms-wmz"<br />".wp6"="application/x-wp6"<br />".wpd"="application/x-wpd"<br />".wpg"="application/x-wpg"<br />".wpl"="application/vnd.ms-wpl"<br />".wq1"="application/x-wq1"<br />".wr1"="application/x-wr1"<br />".wri"="application/x-wri"<br />".wrk"="application/x-wrk"<br />".ws"="application/x-ws"<br />".ws2"="application/x-ws"<br />".wsc"="text/scriptlet"<br />".wsdl"="text/xml"<br />".wvx"="video/x-ms-wvx"<br />".xdp"="application/vnd.adobe.xdp"<br />".xdr"="text/xml"<br />".xfd"="application/vnd.adobe.xfd"<br />".xfdf"="application/vnd.adobe.xfdf"<br />".xhtml"="text/html"<br />".xls"="application/vnd.ms-excel"<br />".xls"="application/x-xls"<br />".xlw"="application/x-xlw"<br />".xml"="text/xml"<br />".xpl"="audio/scpls"<br />".xq"="text/xml"<br />".xql"="text/xml"<br />".xquery"="text/xml"<br />".xsd"="text/xml"<br />".xsl"="text/xml"<br />".xslt"="text/xml"<br />".xwd"="application/x-xwd"<br />".x_b"="application/x-x_b"<br />".x_t"="application/x-x_t"