我剛剛將我的網站的測試副本升級到asp.net 4.0,並注意到只有當我將該網站上載到我的服務器時纔會出現一個奇怪的問題。asmx web服務在.net 4.0中返回xml而不是json
該網站有一個asmx web服務,返回json,但是當我在我的服務器上運行該網站時,它返回xml。它一直在asp.net 3.5中工作良好一年多。
將WebMethod裝飾有正確的屬性...
[WebMethod][ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<LocationRecentChange> RecentChanges()
和我的本地機器返回JSON。
尚未在服務器(Windows 2008 64位)上返回xml。
使用Firebug控制檯,您將看到200 OK響應和一堆XML,並且在本地計算機上返回的數據是我期望的JSON。
下面是調用服務的JavaScript ..
function loadRecentData() {
$.ajax({
type: "POST",
url: "service/spots.asmx/RecentChanges",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: loadRecentUpdates,
failure: function(msg) {
//alert(msg);
}
});
}
任何建議表示歡迎,這讓我難住了!
原來服務器有一些與IIS一起發愁。我無法在本地重新創建問題,但將該項插入到web.config中可以解決問題。 – Baldy 2010-05-05 19:38:42
我有完全相同的問題。你可以編輯答案,包括我需要添加到我的web.config中的確切代碼(包括需要添加到哪個部分)?謝謝。 – njr101 2012-06-19 07:25:39