シリアル化されたオブジェクトを格納する文字列を返す [WebMethod] を作成しました
[WebMethod]
public string doStuffs() {
...
return JavaScriptConvert.SerializeObject(myObj);
// JSON Serializer library is JSON.NET 1.3.1, for MONO
}
JQuery から $.post を使用してメソッドを呼び出すと、次のようになります。
$.ajax({
type: "POST",
url: "/web/doStuffs",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Do stuffs
}
});
問題はレスポンスです。ここで私が得るもの:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://localhost:8080/papi">{
"field1" : "value1", "field2 : "value2", etc etc}</string>
JSON 応答が XML 内にカプセル化されているのはなぜですか? HTTP 応答ヘッダーが (間違って?) 次のように設定されていることがわかります。
Content-Type text/xml; charset=utf-8
応答のコンテンツ タイプを切り替えるにはどうすればよいですか? ありがとう。