次の ajax メソッドを含む html ページがあります。
$(document).ready(function() {
$.ajax({
type: "POST",
url: "http://www.webservice.com/blahblah.asmx/blahb123",
data: "tnWsGuid=TEST1",
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(msg)
{
alert("sucess")
},
error: function(e)
{
alert(JSON.stringify(e));
}
});
});
403禁止されています。同僚が Web サービスを構築しましたが、私はコードにアクセスできず、現在彼が休暇中でコードを変更することもできません。このデータを表示する必要があります。この時点で、試みたすべてが失敗し、403 禁止エラーが表示されます。コードを表示する目的で、URL 名と成功関数を単なる警告ダイアログに変更しました。
もう1つのことは、jsonがXMLでラップされているようで、次のようなASP.NET Webサービスから来ていることです。
<string xmlns="http://Walkthrough/XmlWebServices/">
{"approverName":"","emailAddress":"","companyName":"ABC","address":{"streetAddress1":"12 BlahBlah","streetAddress2":"","state":"ON","zipCode":"","country":"SO","phoneNumber":""},"tabledata:"[{"vendorPart":"AAAAA","partDescription":"N/A","price":"0.00","quantity":"28"},{"vendorPart":"BBBBBBB","partDescription":"N/A","price":"0.00","quantity":"3"},{"vendorPart":"CCCCCC","partDescription":"N/A","price":"0.00","quantity":"25"}]}
</string>
json を受信することを期待していたので、これは当初の意図ではありませんでしたが、今は何もできず、XML で処理し、内部でフォーマットされた json を json オブジェクトに変換する必要があります。
私も次のように試しました:
$(document).ready(function() {
$.ajax({
type: "GET",
url: "http://www.webservice.com/blahblah.asmx/blahb123",
data: "tnWsGuid=TEST1",
dataType: "xml",
contentType: "text/xml",
success: function(msg)
{
alert("sucess")
},
error: function(e)
{
alert(JSON.stringify(e));
}
});
});
最後に、試した両方の例 (json/xml) について、FireFox からの Firebug 応答を出力します。
Json: http://i.imgur.com/zJy4BvD.jpg
XML: http://i.imgur.com/6qiGVwQ.jpg
読んでいただきありがとうございます!