2011-09-03 94 views
3

我正在學習他的Prototype Ajax API。我讀他們的文檔,我看到了這一點:原型Ajax請求限制?

請記住,出於安全原因(即防止跨站點 腳本攻擊)Ajax請求只能在同一 協議,主機和端口的網址發包含Ajax請求的頁面。某些 瀏覽器可能允許任意網址,但您不應該依賴支持 。

那麼這是否意味着我無法向另一個應用程序的一個應用程序的後端發出請求?或者我只是誤解了這一點。我非常感謝一些新的javascript學習者的澄清,像我一樣。謝謝

+0

如果您製作的是[離線Web應用程序(http://diveintohtml5.org/offline.html),然後沒有必要擔心,儘管在當地「服務」,它仍然是同一個域名。但是,您可能希望將AJAX URL放在「網絡」清單中。 – clockworkgeek

回答

1

這是same domain origin policy。出於安全原因,這由Web瀏覽器強制執行。

簡而言之,沒有此限制,ajax請求將允許您代表用戶檢索任何網頁。這可以讓你閱讀他的電子郵件,如果他登錄他的網絡郵件。

查看JSONP,瞭解跨域的Ajax請求。 (注意:在JSONP在P)

這似乎是增加了原型JSONP支持:http://dandean.com/jsonp-for-prototypejs/

+0

感謝您的回覆。但是,如果我想從移動應用程序向我的網站的後端發出請求,該怎麼辦?移動應用顯然不是同一臺主機。那麼如何處理呢?還是我沒有正確理解? –

+0

完全閱讀答案;-)(提示:jsonp) – arnaud576875

+0

hehehehe。哎呀。謝啦。 :) –