- HTML+JSで提供されているリファ実装
- nodejsのインターフェイスが提供されているライブラリ
という愉快な組み合わせを実現したいという切実なアレ
後々の事を考えるとCGIが禁止されてる傾向も加味しないといけない。
しらべてみると、nodejsで静的HTMLを吐き出し、そこからnodeのメソッドを呼び出す方法があるらしい。
実際のところ
nodejs
まず本体の"foobar.js"
MVCライブラリのexpressを導入
var express = require('express'); var app = express(); app.use(express.static('html')) app.get('/myapi', function (req, res) { console.log("successful call on server side"); res.status(200).send('Hello World'); }) var server = app.listen(8080, function() { console.log("Listening on 8080"); })
html
htmlファイルはディレクトリを作り、そこにindex.htmlとして保存
<html> <head> <title>Hello World</title> </head> <body> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $.ajax({ type: "GET", url: "http://127.0.0.1:8080/myapi", contentType: 'text/plane', success: function(response) { alert("success!"); }, error: function(jqXHR, textStatus, errorThrown) { alert("error"); }, }); }); </script> <p>Hello World!</p> </body>
動かす
$ node foobar.js