Content-Type 之 application/json 與 text/javascript

來源:互聯網
上載者:User

標籤:

我們一般在服務端返回 json 格式資料給瀏覽器端時,會使用下面的代碼:

response.setContentType("text/javascript;charset=UTF-8"); 

或者:

response.setContentType("application/json;charset=UTF-8"); 

但是兩種什麼區別呢?

其實很簡單。前者用於返回js代碼,後者專門用於返回 json 格式的資料。

也就是說,前者 返回的 js 代碼,會自動在 瀏覽器中進行執行,就像返回的結果被 eval(result) 調用了一樣。也就是說返回的字串,會被當做 js 代碼,被瀏覽器的js引擎進行執行。而不是當做普通的字串顯示在瀏覽器中。

 

後者專門用於返回 json 格式的資料,而 json 格式是 js 代碼的一個子集。也就是說 json 格式的資料,也是 js 代碼,也會被瀏覽器的js引擎執行,而產生 json 對象。

但是 json 格式的範圍比 js 代碼的範圍要小很多。json 是 js 的一個子集。關於 json 的具體格式要求,參見:http://www.json.org/

 

所以如果返回的是 json 格式,那麼用兩者都是可以的。

------------------------------

服務端 向 用戶端 發送 JSON資料 時: 
    Content-Type = ‘application/json;charset=UTF-8‘ 

服務端 向 用戶端 發送 JS 代碼 時: 

    Content-Type = ‘text/javascript;charset=UTF-8‘ 

服務端 判斷 用戶端 提交的是否是 JSON資料 時 : 

    Content-Type = ‘application/json;charset=UTF-8‘ 
    Content-Type = ‘text/json;charset=UTF-8‘ 
    Content-Type = ‘text/javascript;charset=UTF-8‘ 
    Content-Type = ‘application/javascript;charset=UTF-8‘ 

只要 Content-Type 滿足上面4個條件中的 任意一個時,就可以認為提交的資料是 JSON資料

 

Content-Type 之 application/json 與 text/javascript

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.