我有一個HTML頁面下面的AJAX方法:jQuery的AJAX方法調用Web服務接收403禁止
$(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名稱和成功功能更改爲警報對話框。其他
的一件事是,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));
}
});
});
最後,我將輸出從Firefox這裏的螢火蟲響應的兩個例子我試過(JSON/XML)
JSON:http://i.imgur.com/zJy4BvD.jpg
XML:http://i.imgur.com/6qiGVwQ.jpg
非常感謝您的閱讀!
調試Web服務以確定拒絕您的請求的原因確實很難,無法訪問該Web服務。 – Quentin 2013-04-09 15:18:29
根據您提供的信息非常有限,看起來該服務未授予其他來源的JS訪問權限。您無法讓網站上的瀏覽器讀取服務中的數據。移動(至少部分)您的邏輯服務器端。 – Quentin 2013-04-09 15:20:17
如果我能夠訪問Web服務,我正在嘗試與這個人聯繫,特別是我可以做什麼來啓用此權限? – Surep 2013-04-09 15:25:16