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', '*');

うーん。なんか風呂敷を広げすぎてごちゃごちゃしてきた感じが。
カレンダーの改修に戻って少し整理していきたい。