Javascript (カレンダー009_Node.js調べ)
■Node.jsについてちょっと調べてみる。
前回Node.jsを使って、localhostのMysqlデータベースにアクセスできることは確認できたが、レンタルサーバのMysqlにはアクセスできなかった。Webサイトを巡ってみると、レンタルサーバのMysqlはセキュリティ上アクセスできないようになっているらしい。仕方ないので、localhostでのデータベースを使って修正を加えてみようと思う。
javascriptは、htmlの拡張子で作成しブラウザで開けば実行できたけど、Nodeはコマンドプロンプトで起動する形なので、どう入れ込んでいけばよいものか。
下のNodeのサンプルをコマンドプロンプトで起動すると、アドレス127.0.0.1、ポート1337でListenの状態となる。ブラウザで開くと下の図のように表示される。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
おそらく、Tomcatで仮想のWebサーバーを起動しているのと同じように、コマンドプロンプトでnodeを実行すると、仮想サーバーが起動しているのだと思う。
だったら、クライアントサイドのjavascript中にサーバーへアクセスする通信のプログラムを組めば、入れ込むことができるのでは。jQueryでHTTP通信ができるそうなので、試してみた。
アクセス権に関するものなのかエラーが出た。CORS policy?
よく分からないが、Nodeのサンプルに下の一文を入れると上のエラーは解消されたよう。(ただ、2行目のエラーは残っているけど)
res.set('Access-Control-Allow-Origin', '*');
うーん。なんか風呂敷を広げすぎてごちゃごちゃしてきた感じが。
カレンダーの改修に戻って少し整理していきたい。