[PHP] localhostとhoge.localhost間でAjaxを許可する方法

状況

例えば、api.localhostでjsonを吐き出しているとする。 そうするとlocalhostからはapi.localhostに対してAjax通信することはできない。

理由は「クロスドメイン制約」なのだが、localhost でもダメみたい。

解決方法

PHPだが、以下の方法で解消することができる。
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: *");

他の言語でも同じように header を同様にしてやると良い。