我刚刚将我的网站的测试副本升级到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