我有一個調用跨域的web服務的問題。我在這裏閱讀了一些關於它的文章,但我沒有真正找到解決方案。我剛剛瞭解到我需要的數據格式爲json
,因爲我總是在登錄Error: Access denied.
時嘗試從服務中獲取xml
數據,但現在我遇到了不同的問題。這是我的電話.ajax()
:從jQuery .ajax()調用Web服務問題
$.ajax({
type: "GET",
contentType: "application/jsonp; charset=utf-8",
url: "http://tomas/_vti_bin/EmmaService.asmx/GetResult",
dataType: "jsonp",
data: {
value : "testValue",
converstionId : "testId"
},
success: function(resp) {
alert("success: " + resp);
},
error: function (xhr, ajaxOptions, thrownError) {
alert("error status: " + xhr.status);
alert("error status text: " + xhr.statusText);
alert("error response text: " + xhr.responseText);
},
});
由此我得到錯誤有以下3個警報:
error status: 200
error status text: success
error response text: undefined
我不明白的是error status text: success
。
代碼在我的Web服務:
[WebMethod(EnableSession = false, Description = "Gets result")]
public EmmaServiceResult GetResult(string value, string converstionId)
{
...
return result;
}
如何得到這個工作有什麼建議?謝謝! :)
注意:我無法更改Web服務,它正在被其他解決方案使用,並且我需要正確調用並且無需任何代碼才能正常工作,因爲我正在創建SharePoint 2013應用程序,該代碼不允許隱藏代碼:/ –
您可以在Firefox和/或Chrome Web Inspector中的Firebug中運行此操作,然後將整個請求(文本)和響應(同上)剪切並粘貼到問題中? – deitch
檢查瀏覽器開發工具中的javascript控制檯和網絡選項卡。查找任何錯誤,並查看xhr響應以查看它是否符合您的期望。 –