Запрос http.get в контроллере agularJs отлично работает, когда мое клиентское приложение и api находятся в локальном хосте. , когда api перемещается на сервер., Возникает проблема., позволяющий использовать корс в codeigniter (restserver by @chriskacerguis)
стороне клиента с помощью angularJs
$http.get('http://domain.com/api/spots/2/0').success(function(datas){
console.log(datas);
});
журнал дает: Cross-Origin Request Заблокировано: The Same Origin Policy Запрещает чтение удаленного ресурса на http://domain.com/api/spots/2/0. Это можно устранить, переместив ресурс в тот же домен или включив CORS.
я добавил эти две строки в мой контроллер построить
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET");
еще такую же ошибку.
я добавил OPTIONS. до сих пор никаких изменений ... im использование [link] (https://github.com/chriskacerguis/codeigniter-restserver) для codeigniter .. все что с этим делать? и мне нужно внести какие-либо изменения в angularJS? – onerinas
Ну, я бы сначала дважды проверил ваши инструменты для браузера dev и посмотрел на журнал сетевого трафика/консоли.Убедитесь, что вы получаете вызов, отправленный в конечную точку api [или нет], а затем ваш угловой код не бросает ошибки. – Ross
Спасибо, похоже, что это должно быть прямо со стороны интерфейса. Одна вещь, чтобы попытаться умереть/выйти из PHP-скрипта после установки заголовков, прежде чем что-либо еще произойдет. Поэтому установите заголовки, а затем сразу же умрете, если метод запроса === «ОПЦИИ». Подробнее см. [Этот ответ] (http://stackoverflow.com/questions/15602099/http-options-error-in-phil-sturgeons-codeigniter-restserver-and-backbone-js?rq=1) (попробуйте добавить Разрешить заголовки часть из этого ответа тоже) – Ross