2017-08-24 57 views
1

我有一個Ionic PWA,所以它在瀏覽器中運行。我試圖發送請求到我的symfony後端。起初,我已將所有東西安裝在本地PC上,並且請求使用了離子代理。現在我已經在服務器上安裝了兩個應用程序。起初,我試圖使用沒有代理的後端網址。然後出現CORS錯誤。然後,我寫了一個.htaccess文件與下面的輸入後端:Ionic - XMLHttpRequest無法加載

Header add Access-Control-Allow-Origin "\*" 
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT" 

現在我得到這樣的:

的XMLHttpRequest不能加載 ...預檢 響應具有無效的HTTP狀態碼405

如果我在本地安裝這樣像以前一樣設置了代理:

"proxies": [ 
    { 
     "path": "/api", 
     "proxyUrl": "http://api.example.com/api" 
    } 
    ] 

我得到一個404未找到錯誤,當我嘗試發送一個請求到http://app.example.com/api

誰能告訴我怎麼會正常工作時,前端和後端都在服務器上,應用程序在運行瀏覽器嗎?

回答

1

如果你得到405返回,這是一個不支持的方法錯誤,所以它看起來像你的服務器沒有配置爲處理OPTIONS請求。這導致飛行前CORS請求被拒絕。

+0

是的,但我的.htaccess中有OPTIONS,就像你上面看到的一樣。或者我必須以不同的方式做到這一點? – Nono

+1

你只是在上面添加一個響應標題。看起來問題是您的服務器未配置爲接受OPTIONS請求。看到這個其他答案:https://stackoverflow.com/questions/43696369/how-to-enable-all-http-methods-on-apache – amuramoto

相關問題