2012年12月24日月曜日

JavaScript + Python + Flask - Origin null is not allowed by Access-Control-Allow-Origin

ローカルで、 Python + Flask で立てたサーバーに JavaScript からアクセスしようとしたら

XMLHttpRequest cannot load http://localhost:5000/. Origin file:// is not allowed by Access-Control-Allow-Origin.
http://flask.pocoo.org/snippets/56/Decorator for the HTTP Access Control

というメッセージで読み込めなかった。

chrome.exe の起動オプションに --allow-file-access-from-files を付ければ良いらしいのだけれど、これでも上手くいかなかったので、python + Flask のサーバ側で何とかする事に。

Decorator for the HTTP Access Control の @crossdomain 修飾子を使う事で、問題回避。

@crossdomain(origin='http://localhost:50423') # Javascript をローカルサーバ実行時
@crossdomain(origin='*') # Javascipt を含む html をブラウザで読み込み時

こういう環境設定に時間を取られるのは何とかならないものか。

0 件のコメント:

コメントを投稿