前提・実現したいこと
いつも定番のハノイ塔ですが、これにajaxを建てて
index.jsで受信したいと考えます。そして「n+"番の円盤を"+a+"から"+b+"に移動」の
処理結果をnode.jsで表示するプログラムを実行したいです。
発生している問題・エラーメッセージ
最初だけ順調にネストしますが、コールバックする時に処理が終了してします。
該当のソースコード
index.html
<html> <head> <script src="https:code.jquery.com/jquery.js"></script> <script> (function($){ var gl; $(document).ready(function(){ nat=new rec(); nat.recursive(4,'a','b','c'); function rec(str){ this.recursive=function(n,a,b,c){ if(n>0){ this.Ajaxing(n,a,b,c); this.recursive(n-1,a,c,b); $(".MyClass").append(n+"番の円盤を"+a+"から"+b+"に移動<br>"); this.recursive(n-1,c,b,a); } } this.Ajaxing=function(n,a,b,c){ $.ajax({ type:"post", async:"ture", url:"http://localhost:3600", dataType:"json", data:{"n":n, "a":a, "b":b, "c":c } }) } } }); })(jQuery); </script> </head> <body> <p class="MyClass"></p> </body> </html>
index.js
var express = require('express'); var bodyParser = require('body-parser'); var http=require('http'); var fs=require('fs'); var app = express(); var io = require('socket.io').listen(server); var router=express.Router(); var server=http.createServer(func); var request; var response; var socket = { on: function(){} }; server.listen(3000); function func(req,res){ request=req; response=res; fs.readFile('./sample01.html','UTF-8',writeToResponse); //response.end(); } function writeToResponse(err,data){ response.writeHead(200,{"Content-Type":"text/html"}); response.write(data); //response.end(); console.log("End"); } app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.use(function(req, res, next){ res.header("Access-Control-Allow-Origin","*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); app.post('/',function(req, res){ var obj = {}; var n=req.body.n; var a=req.body.a; var b=req.body.b; var c=req.body.c; }); app.listen(3600); /*Chromeを起動する appに入り、非同期にする chromeをF8する。 そうするとapp.postが非同期になってるので反応する*/
試したこと
フロントエンド側の文法を解釈を色々と工夫した
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。