我一直在這個問題上停留了好幾個小時,無法找到有效的答案,也許是因爲我缺乏這方面的知識/經驗。使用jQuery在遠程服務器上調用Web服務
我知道,由於同源限制,我無法使用XMLHttpRequest在遠程服務器上加載Web服務,但顯然這可以使用jsonp數據類型並提供回調函數來完成,但我真的無法弄清楚如何使它工作。
遠程服務器將是我的,所以我並不真正關心遠程服務器可能發回任何惡意JavaScript代碼的可能性。
我將不勝感激,如果有人可以幫助我在http://www.antoinecloutier.com/WebService1.asmx/HelloWorld
我已經創建了我的服務器和Web服務在測試頁面以獲取與web服務的一些工作代碼工作正常 - >http://antoinecloutier.com/test.html
現在,我需要能夠從另一臺服務器訪問該Web服務。
謝謝!
jQuery.support.cors = true;
$.ajax({
url: 'http://crossdomainurl',
type: 'GET',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (data) {
WriteResponse(data);
},
error: function (x, y, z) {
alert(x + '\n' + y + '\n' + z);
}
});
爲了確保跨域正常工作,你將有一個Access-Control-Allow-Origin: *
響應頭添加到Web服務響應:
http://pastie.org/private/7jlh6y1vqa1cjv8bjec0g 燦你能幫我用這段代碼得到一個有效的例子嗎? –
@ newblt123查看更新答案。 –
我已經將Access-Control-Allow-Origin添加到了我的Application_BeginRequest中,但我仍然收到以下錯誤: XMLHttpRequest無法加載http://www.antoinecloutier.com/WebService1.asmx/HelloWorld。該請求被重定向到「http://antoinecloutier.com/WebService1.asmx/HelloWorld」,該請求被禁止用於需要預檢的跨源請求。 以下是代碼:http://pastie.org/private/nvtldi38lto21p3vnswglq。 我正在使用ASMX服務而不是WCF,這是一個問題嗎? –