2011-09-18 140 views
3

我想訪問另一臺服務器上使用Ajax的SOAP Web服務,但我得到一個訪問控制允許來源錯誤。 Web服務返回XML,因此無法使用JSONP,並且Web服務也在另一個應用程序中使用,因此修改可能是最後一種選擇。任何解決方案肥皂阿賈克斯跨域問題

回答

3

如果你不能做到JSONP,那麼你的選擇是:

  1. 在瞭解創建頁面的域名,可以從其他領域獲取期望的結果,並從轉發到你的服務器代理允許的域名。
  2. 如果您願意將瀏覽器支持限制在某些現代瀏覽器上,那麼您可以調查跨域資源共享(CORS),這是一種「安全」的跨域請求方式。你可以閱讀關於它here
  3. 通過Flash的跨域ajax支持需要在要訪問的服務器的主機上放置適當的跨域策略文件。有關更多信息,請參閱herehere
+0

選項一和二看起來不錯。第一個選項的任何指南? – Bahamut

1

您可以在頁面的域中設置服務器代理。 這個頁面然後會調用soap web服務並給你回覆響應。 然後可以通過ui的ajax調用此頁面。

0

通過使用Ajaxpro 2發現了最可能的最簡單的方法,當然它的意思是.NET。 http://www.ajaxpro.info/

否則,jfriend00的建議是下一個最佳選擇。