У меня есть API, который выбирает дату на сервере.
public function post_events() { header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: GET, POST'); header("Access-Control-Allow-Headers: X-Requested-With"); $city = Input::post('city','all'); $c = Model_chart::format_chart($city); return $this->response($c); }
Он отлично работает при обычных методах скручивания. Но я пытаюсь получить к нему доступ, используя $ http на Angular.js, и он получает эту ошибку.
XMLHttpRequest не может загрузить http://event.deremoe.com/vendor/events.json . В запрошенном ресурсе нет заголовка «Access-Control-Allow-Origin». Поэтому исходный адрес http: //app.event.chart не допускается.
Как вы можете видеть, я уже добавляю заголовки в функцию. Я также проверил curl, и заголовок Access-Control-Allow-Origin прикреплен, когда я вызываю api.
Что-то мне здесь не хватает?
Дополнительная информация: вот информация заголовка, которая возвращается мне с помощью обычного завитка.
Remote Address:104.28.19.112:80 Request URL:http://event.deremoe.com/vendor/events.json Request Method:OPTIONS Status Code:404 Not Found Request Headersview source Accept:*/* Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Access-Control-Request-Headers:accept, content-type Access-Control-Request-Method:POST Connection:keep-alive Host:event.deremoe.com Origin:http://app.event.chart Referer:http://app.event.chart/ User-Agent:Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36 Response Headersview source CF-RAY:16f687416fe30c35-SEA Connection:keep-alive Content-Encoding:gzip Content-Type:text/html; charset=UTF-8 Date:Thu, 25 Sep 2014 10:27:17 GMT Server:cloudflare-nginx Set-Cookie:__cfduid=d1a9e4283faacc0a2b029efef586b6b931411640837342; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.deremoe.com; HttpOnly Transfer-Encoding:chunked X-Powered-By:PHP/5.4.30