2013-03-07 34 views
0

我目前正在努力與CORS。我想請求一張根據請求生成的圖片(例如WMS的地圖)。img和XMLHttpRequest有什麼區別?

如果圖片加載了img標籤,圖片顯示正確。但是,當我試圖讓一個XMLHttpRequest圖片它結束了一個:

XMLHttpRequest cannot load http://vmap0.tiles.osgeo.org/wms/vmap0?[...]. 
Origin http://fiddle.jshell.net is not allowed by Access-Control-Allow-Origin. 

您可以在jsfiddle找到一個簡單的例子。

這兩種方法有什麼區別?

我想使用XMLHttpRequest,因爲所請求的圖片將成爲WebGL應用程序的紋理。

+0

你打算如何處理圖像的二進制數據,而不是通過URL引用它?你實際上是在尋找一個CORS解決方案嗎?或者你只是在詢問同源策略? – 2013-03-07 22:53:33

+0

其實x3dom使用它:http://x3dom.org/x3dom/example/x3dom_texture.xhtml – mistapink 2013-03-07 22:54:59

+0

「Access-Control-Allow-Origin」 - XHR嘗試失敗/未使用CORS。 'img'不受同源策略(或CORS)的限制。 – 2013-03-07 22:56:36

回答

-4

XMLHttpRequest用於加載數據。

IMG用於加載圖片。

有什麼難以理解的。

The XMLHttpRequest object is used to exchange data with a server behind the scenes.

至於訪問控制允許來源the spec規定你必須有服務器檢查從客戶端的Origin標,包括原產地爲訪問控制允許-Origin

+0

圖像是沒有數據呢? – mistapink 2013-03-07 23:01:44

+0

@mistapink在您評論3D演示的鏈接之前,我曾提出過我的觀點。顯然,你想通過代碼來操作圖像,如果你堅持從其他域加載圖像,那麼服務器分發圖像將需要按摩頭部。我在回答中添加了一個小編輯 – 2013-03-07 23:17:31

+0

我知道我可以更改服務器標題,但是我不能。而且,@Matt Whipples的評論並沒有回答我的問題。 (順便說一句:我沒有downvote) – mistapink 2013-03-07 23:24:26