2012-04-10 103 views
0

對於我所瞭解的跨域AJAX調用是not possible for security reasons跨域AJAX

我明白這可以通過使用JSON-P來完成。

我的問題:爲什麼跨域AJAX調用被禁止,但實際上可能在一個不太實際的方式?只是授權它會更簡單。

怎麼是你應該爲那些一種簡單的場景做:通過調用谷歌地圖的web服務

  • 通過其Web服務獲取Flickr圖片
  • AJAX到不同的域,但它

    • 地理編碼的位置同一個應用程序(服務器農場的例子嗎?)
    • ...(這些只是例子)

    如果我必須用服務器端腳本來包裝/代理這些調用,那只是無聊而且時間的流逝......您最終無法制作完整的Javascript應用程序? (如果你想使用外部web服務我的意思)

  • 回答

    4

    爲什麼跨域AJAX調用禁

    您登錄到您的銀行,對吧?好的,我只需向銀行發送一個Ajax請求,然後閱讀您的帳號,分類代碼等等。

    怎麼是你應該爲那些一種簡單的場景

    • 服務器端代理
    • JSON-P
    • CORS

    如果我有用服務器端腳本來包裝/代理這些調用,那只是無聊的一個nd time lost

    如果我們不必擔心安全問題,許多事情會更容易。我們不需要門鎖,帳戶密碼等。

    +0

    非常好的答案謝謝,我沒有想到會議。事實上,這是嚴重的;)。不過,我不明白爲什麼JSON-P不同於直接的AJAX調用(關於安全性)?該調用仍由客戶端(瀏覽器端)? – 2012-04-10 09:51:19

    +0

    JSON-P必須由承載服務的站點有意暴露。 – Quentin 2012-04-10 09:52:18

    +0

    好吧,所以它故意不使用會話或類似的東西,那麼我猜。謝謝 – 2012-04-10 09:54:21