JSONを試す環境
背景
Backbone.jsをお勉強するために、JSON返すサーバが欲しいなとおもって、簡単に構築する方法を私が知っているやり方でまとめた
Chromeの設定変更(とりあえず動かすために)
- CrossDomain環境だとXMLHttpRequestが制限されるので、制限の解除
- サーバ側でヘッダにつけろと言う話もあるが、まずは動かしたいので、Chrome側を変える
ちなみに、エラーはこんな感じ
同じホストでもポートが違うとだめした・・・
XMLHttpRequest cannot load http://localhost:4567/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8888' is therefore not allowed access.
とりあえずのChromeの起動設定の変更
open -a Google\ Chrome --args --allow-file-access-from-files --disable-web-security
JSONを返すサーバの用意
- sinatraで3分ぐらいでサクッと作れる
gemをインストールして・・・
gem install sinatra gem install json
コードを書いて・・・
require "sinatra" require "json" get '/' do content_type :json data = { id: 10, name: "hoge" } data.to_json end
ruby xxx.rbで起動
- すると、http://localhost:4567/で
{"id":10,"name":"hoge"}
って返ってくる
クライアント用のサーバを立ち上げる
- file:// だと挙動がことなことがあるので、クライアント側の動作用のサーバも準備する
- pythonが持っているSimpleHTTPServerをつかう
python -m SimpleHTTPServer 8888
んー
- HTTPのことを全然理解していないし、JSのことも理解していないしって、焦っている感じ。
- Backbone.jsの理解がつらい・・・
- 「動かす」と「理解して動かす」の間にすごい隔たりがあるなーと思いつつの日々の勉強です・・・