どこぞのエンジニアなマネージャーのブログ。

Perlとかviとかcssとかjavascriptとか(rubyとか)git >> https://github.com/rozary hatenaIDがrozrayなのはtypo

jQuery + ajax + response 200 but error response

教訓:デバグツールはちゃんと見よう!!

見ないせいで、何時間もハマってしまった…。

状況1:
jQuery + ajaxでデータ要求していたんだけれど、statusがどうしてもerrorで処理される。
要求先(mojolicious)のアクセスログを見ても200返していて、なんじゃろなんじゃろという状況。

状況2:
nginx > htmlを要求する分には取得できているのだが、
mojolicious > textを要求すると取得できない。
(htmlだろうがtextだろうが、どうでもいいよね。)

状況3:(数時間気付かなかった…。)
ぐぐるツールのコンソールに、XMLHttpRequest cannot loadが出ていた。

対応:
結局、Access-Control-Allow-Originというヘッダを つければいいということだそうだ。

get '/ajax' => sub {
  my $self = shift;
  $self->res->headers->header("Access-Control-Allow-Origin"=>"*");
  $self->render(text=>"hello");
};

こんな風にしてmojolicious起動。

で、結果が返ってくるようになりました。

これでスッキリ寝れるー。