サイトのテストコピーをasp.net4.0にアップグレードしたところ、サイトをサーバーにアップロードしたときにのみ発生する奇妙な問題に気づきました。
サイトにはjsonを返すasmxWebサービスがありますが、サーバーでサイトを実行するとxmlが返されます。asp.net3.5では1年以上正常に機能しています。
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);
}
});
}
どんな提案も歓迎します、これは私を困惑させました!