2017-06-26 36 views
0

我目前正在處理讀取修改跨域XML的政策,接受空起源頭

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 404.

請求工作正常我的服務器上的錯誤,但我的客戶端上休息。最近,我發現這個文件,public/crossdomain.xml

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html --> 

    <!-- Most restrictive policy: --> 
    <!-- <site-control permitted-cross-domain-policies="none"/> --> 

    <!-- Least restrictive policy: --> 

    <site-control permitted-cross-domain-policies="all"/> 
    <allow-access-from domain="*" to-ports="*" secure="false"/> 
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/> 

</cross-domain-policy> 

雖然這看起來像我一直在尋求修復,我仍然被拋出同樣的錯誤。沒有像這個服務器端的問題,我的客戶端現在主要匹配我的服務器的配置。爲什麼這項政策無法解決錯誤?我是否需要進一步配置此策略以接受所需的標題?

UPDATE:Here是客戶端錯誤的破敗和服務器輸出,當我試圖讓跨域請求

回答

0

你能做的唯一的事情就是修改您的服務器向預檢HEAD請求作出響應與Access-Control-Allow-Origin。這是一個瀏覽器安全功能,你不能從你的客戶網站修改它。你必須在你的服務器上配置它。

同時驗證您如何訪問您的客戶端。起源應該是有效的域名。

瞭解同源策略和CORS。你真的想做CORS請求嗎?如果不是,請使用ember dev服務器代理。

+0

我的服務器實際上能夠處理請求:它進入驗證登錄頁面(在這種情況下爲coinbase)並掛起,因爲它正在等待客戶端響應不會到來。另一個奇怪的錯誤是,當我嘗試使用一個花費代理服務器時,它仍然崩潰,說我的本地主機的起源爲空。我正在考慮努力重新設置我的開發環境,看看它有沒有什麼好處,但除此之外,我很難過。 – d00medman

+1

您可以驗證服務器對Head請求的響應嗎?有什麼標題? – Lux

+0

[Here](http://imgur.com/a/Rig2V)是我在客戶端發送的錯誤和相應網絡請求的相冊,當我嘗試在沒有運行代理服務器的情況下進行呼叫時(包括我的輸出服務器在終端中)。這是你在找什麼? – d00medman