JSONデータをべたべた触る@初級

JSONデータをテーブルで書き出したいのだけど、さっぱりjqueryなるものがわからないので、まずは「書き出す」というところから入ろうと、Google先生によさげなページを聞いた。

 

jQueryでJSONのデータ取得 - Symfoware

シンプルなHTMLにjquery1.3.2をインストールして、JSONデータを読み込んで…

ボタンをポチると”XMLHttpRequest cannot load 場所とファイル名 Origin null is not allowed by Access-Control-Allow-Origin.”とエラー。

 

load() を使うと Chrome が文句言う - 積極的にメモっていく姿勢

Chromeのベースにある、ローカルファイルに対するセキュリティの考え方が、これを実行不可能にしている様子。

原因と対策がばっちりかかれていた。確かにChrome使ってて出た。

 

起動オプション - Google Chrome まとめWiki

ちなみに微妙に半角入れないとだめ。

半角スペースを空けてオプションを追加していきます。
※先頭に半角スペースを入れ忘れると [OK] または [適用] をクリックしたときに「受け側に指定されたパス名 ~ は無効です」とエラーが表示されます。

 

ちょっと変な所で寄り道してしまったけど、Chromeだとおかしいことになることもあると知れたのでよし。

11/20追記

 

jQueryでJSONのデータ取得し、テーブルに表示するプラグインを作成する - Symfoware

これを参考にこんな感じのHTML作って

f:id:gambol:20141120095846p:plain

自分が使いたいようなデータと部品でアレンジしていたら、

 Uncaught ReferenceError: $ is not defined (anonymous function)

というエラーが出た。ググった。

» 【メモ (jQuery)】 Uncaught ReferenceError: $ is not defined (anonymous function)_DD_log

どうやらhtmlのhead要素内の記述に問題があったようです。

確かに、順番がおかしかったかも。

Before:

<script type="text/javascript" src="js/jquery-1.3.2.js"></script>

<script type="text/javascript" src="js/jquery.plugin_sample.js"></script>
 <script type="text/javascript" src="js/jquery.plugin_mode.js"></script>
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js" type="text/javascript"></script>

After:

<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.plugin_mode.js"></script>
<script type="text/javascript" src="js/jquery.plugin_sample.js"></script>

これでエラーが出なくなった。

 

この順番を気にしなくていいようにするのがrequire.jsなのかな~?

JS の読込み順を征する者は なんか色々征する! with CoffeeScript - glasses factory

昔目にしてブクマしといたけど、実際にこうやって問題に直面してから思い出して、頭の中でつながると気持ちいい。