2015-10-05 126 views
3

我嘗試使用$ HTTP(角),此代碼發送HTTP請求:離子,訪問控制允許來源

$http({ 
       method: 'GET', 
       url: 'http://192.168.0.17:9000', 
       header: {'Access-Control-Allow-Origin': "*"}, 
     }).then(getEventsSuccess, getEventsError); 

但是,這並不工作,我在Web控制檯此錯誤:

XMLHttpRequest cannot load http://192.168.0.17:9000/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access. 

您有解決方案嗎?

+4

訪問控制允許來源必須設置服務器端,而不是客戶端 – Jamby

+0

聽起來像CORS問題 – swapnesh

+0

我做它在兩側,但同樣的問題。 .. –

回答

4

由於在您的瀏覽器中實施的安全機制(稱爲同源策略),您會看到此錯誤。

基本上,這是因爲您的網頁嘗試訪問駐留在與網頁本身不同的主機,端口或方案(HTTP/HTTPS /文件等)上的服務器上的資源。

爲了解決這個問題,您可以執行下列操作之一:

  • 從您試圖訪問服務器服務您的網頁。如果您的網頁網址爲http://192.168.0.17:9000/X.html,您的請求應該成功,並且錯誤將消失。
  • 爲您的服務器發送的響應(稱爲Access-Control-Allow-Origin)添加一個特殊標題。

在這裏閱讀更多: https://en.wikipedia.org/wiki/Same-origin_policy https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS