2014-07-11 50 views
0

我想訪問放置在其他服務器上的資源。我想從javascript訪問它,我嘗試了下面的教程here來實現CORS。但沒有得到如何使用Access-Control-Allow-Origin頭配置其他服務器,所以瀏覽器仍然不允許訪問。然後,我嘗試安裝CORS擴展的鉻,它的工作,但鉻擴展的問題是,如果我從同一臺服務器訪問任何資源,網頁懸掛,我得到這個錯誤:'訪問控制 - 允許 - Origin'標題包含多個值,但只有一個是允許的。原因_,因此不允許訪問。在Javascript中執行CORS

如果鉻擴展跨域資源訪問工作但來自同一個域失敗。 我想通過代碼而不是擴展來實現CORS。

+0

其他服務器在它發送的響應中是否也有CORS頭?您可以從Chrome的開發人員工具「網絡」選項卡中檢查。 –

+0

在JavaScript中,我做了所需的CORSrequest,但在其他服務器上有wamp,我無法確定在下面添加行的位置:標題集Access-Control-Allow-Origin「*」。它是httpd。conf或任何其他文件,我已將它添加到,但仍然當我嘗試請求時,出現錯誤:否請求的資源上存在「Access-Control-Allow-Origin」標頭。 – Bhupendra

+0

通過對chrome使用CORS擴展,無需對其他服務器進行任何配置更改,即可獲得響應。 – Bhupendra

回答

1

有兩種方法可以做到這一點:

  1. 加入Chrome擴展CORS Chrome瀏覽器,那麼如果你試圖讓跨域的XMLHTTPRequest,瀏覽器不會抱怨,它會載入橫域資源。

  2. 如果你不想延長,另一種方法是配置跨域server.Below是WAMP服務器的過程

    • 打開文件的apache/conf目錄/ httpd.conf文件,並取消下面一行:

    的LoadModule headers_module模塊/ mod_headers.so

    • 添加以下行下的「目錄」標籤

      <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule>

    使用*如果您要允許從所有服務器跨域別人給服務器的名稱明確。 現在保存httpd.conf文件並重啓wamp服務器。