ASPXページに以下のコードがあり、Webサービスからデータを取得しています。WCFを使用できないため、ASMXと.Net3.5を使用しています。ただし、返されるのは、web.configエラータグをOFFに設定することについて説明している黄色のASP.netエラーページです。コードビハインドからメソッドを呼び出し、応答をページに書き込むと、JSONビューアーで表示したJson文字列が取得され、正常に解析されます。ここでの私の問題はURL形式です。私はここで何を間違っているのですか。私が見つけたすべての例では、webservice.asmx/Method形式を使用しています。web.configにプロトコルも追加しました
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
ページスクリプト:
$.ajax({
type: 'GET',
contentType: "application/json; charset=utf-8",
url: 'http://myserver/mywebservice.asmx/MyMethod',
dataType: 'jsondata',
success: function (msg) {
var table = "<table><tr><th>ID</th><th>Title</th></tr>"
for (var i = 0; i <= msg.length - 1; i++) {
var row = "<tr>";
row += "<td>" + msg[i].ID + "</td>";
row += "<td>" + msg[i].Title + "</td>";
row += "</tr>";
table += row;
}
table += "</table>";
$("#myDiv").html(table);
},
complete: function () {
alert("complete");
}
});
ウェブサービス:
<WebMethod(), ScriptMethod(ResponseFormat:=ResponseFormat.Json, UseHttpGet:=True)> _
Public Function MyMethod() As String
'removed for shorter post
End Function
更新:Chromeの開発ツールを使用すると、問題の一部がサーバーが403Forbiddenエラーを返すことであることがわかりました。いくつかの調整を行った後、json形式でデータを返す部分的な解決策を思いつきました。ただし、そのjson形式のテキストはXMLでラップされるようになりました。:-(
私はまだjsonからXMLを取得する方法を理解することができていません。何か案は?