我正在爲內部企業應用程序設計Restful Web服務,並且很好奇如何合併JSON和「Web內容」請求。在Restful Web服務中控制內容類型
Web應用程序與所有優秀的企業應用程序一樣,具有反映在URL中的三字母縮寫。比方說,這個應用程序的「呼號」是ABC,以及用戶通過以下網址
訪問當用戶訪問我們要爲他們服務了主HTML頁面的應用程序的根, .js文件(包括jquery),css和圖像。然後,jquery將開始將AJAX調用回服務器。
處理這些多種內容類型的最佳方法是什麼?
http://servername/abc(的index.html回報內容)
http://servername/abc/javascript/jquery.js(返回一個js文件)
http://servername/abc/countries/de(返回JSON)
我應該分成兩個網絡環境呢?我應該在ajax調用中使用jquery contentType參數來顯式指定JSON還是其他的東西?
JQuery中的contentType參數僅用於將數據發佈到Web服務器(HTTP POST)。如果您試圖從服務器請求JSON數據(HTTP GET),則必須在JQuery中使用dataType參數,該參數將設置HTTP Accept標頭。 –
正確 - 已添加到答案 – ericb
添加我的2美分:在ASP.NET Web API中,如果發送POST(或PUT或PATCH)而未設置內容類型,則模型綁定將失敗(在典型設置中)框架不知道如何反序列化發佈的內容(因爲這是公認的答案,並且通常會收到大部分的讀取 - 我花了很多時間弄清楚爲什麼JSON發佈到我的API上會導致失敗desirialized) – dotnetguy