2016-10-31 49 views
0

我在一個web應用上使用CORS出現了一個很奇怪的問題我試圖使 我使用Servlets(Tomcat8.0)作爲後端。這是一個學校項目,所以我不能用一個框架XHR到同一個域被阻止

GET請求http://localhost:8080/FileBox/dashboard 回報JSON有效載荷(純JSON,沒有JSONP,我可以使用,但它的同一個域)。我使用AJAX,使XHR,但它正在阻止鉻作爲CORS XHR blocked by chrome

如果有這樣的情況發生,因爲我在做同一個域中的XHR(主機+端口) 'localhost:8080/FileBox/dashboard.jsp' to 'localhost:8080/FileBox/dashboard'

請,並感謝您的幫助!

+0

我已經看了這些,但他們並不特別有用: http://stackoverflow.com/questions/19966707/cors-error-on-same-domain?rq=1 http://stackoverflow.com/questions/25772001/xhr-cross-domain-error-on-the-same-domain-localhost – DancesOnTheMoon

回答

1

您沒有向http://localhost:8080/FileBox/dashboard發送請求。錯誤消息表示您正在使用不支持的方案發出跨域請求,並且http是受支持的方案。

想必你已經取得的兩個錯誤:

獲取URL錯誤

你應該使用相對URL:

/FileBox/dashboard 

,但要使用絕對URL:

http://localhost:8080/FileBox/dashboard 

但是輸入錯了,實際上是請求了

localhost:8080/FileBox/dashboard 

不加載頁面通過HTTP通過雙擊您的系統文件管理器的文件開始

也許,你已經忽略你的HTTP服務器,並加載像file:///c:/users/you/yourproject/index.html


加上前面的錯誤,您最終試圖通過Ajax請求file:///c:/users/you/yourproject/localhost:8080/FileBox/dashboard並導致安全違規。


解決方案

  1. 修正網址是正確的相對URL
  2. 點你在http://localhost:8080,而不是在文件管理器雙擊文件瀏覽器
+0

謝謝你的迴應,我正在運行一個服務器,所以它不是第二個問題,我會嘗試看看如果我可以使用相對URL – DancesOnTheMoon

+0

@DancesOnTheMoon - 第二個問題是,你似乎在運行一個服務器,但不告訴瀏覽器與它交談。 – Quentin

+0

這是第一個問題,我正在使用絕對網址。我不知道爲什麼這應該是一個問題,因爲它是相同的域名,但你的答案幫助了我。謝謝 – DancesOnTheMoon