agularJs控制器中的http.get請求在我的客戶端應用程序和api位於localhost時正常工作。當api被移動到服務器時,問題就出現了。在codeigniter中啓用cors(restserver by @chriskacerguis)
客戶端使用angularJs
$http.get('http://domain.com/api/spots/2/0').success(function(datas){
console.log(datas);
});
日誌給出: 跨來源請求阻止:同源策略不允許在http://domain.com/api/spots/2/0讀取遠程資源。這可以通過將資源移動到相同的域或啓用CORS來解決。
我已經將這兩行我控制器構造
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET");
還是同樣的錯誤。
我已添加的選項。仍然沒有變化... 即時通訊使用[鏈接](https://github.com/chriskacerguis/codeigniter-restserver) codeigniter ..有什麼用這個? 並且我必須對angularJS進行任何更改嗎? – onerinas 2014-09-07 02:37:30
好吧,我首先要仔細檢查你的瀏覽器開發工具,並看看網絡流量/控制檯日誌。確保你得到一個呼叫發送到api終點[或不],然後你的角碼不會拋出錯誤。 – Ross 2014-09-07 12:09:40
謝謝,看起來應該是從事物的前端呼叫方。有一件事要做,就是在發生其他事情之前設置標題後,退出PHP腳本。因此,如果請求方法==='OPTIONS',那麼設置您的標題然後立即死掉。看到[這個答案](http://stackoverflow.com/questions/15602099/http-options-error-in-phil-sturgeons-codeigniter-restserver-and-backbone-js?rq=1)的更多細節(嘗試添加允許標題部分也從這個答案) – Ross 2014-09-07 15:28:23