How to handle an Ajax request on the server:
html + script:
<div id = "divTXT"> Сюда подгрузятся данные TXT </div> <button id = "buttonGetData">Получить данные </button> <script> var buttonGetData = document.getElementById('buttonGetData'); buttonGetData.addEventListener('click', ShowData); function ShowData(event) { event.preventDefault(); $.ajax({ url: "/server.js", response:'text', success: function(receive){ $("#divTXT").append(receive); } }); </script> Server:
var http = require("http"); var url = require("url"); var mysql = require('mysql'); var fs = require('fs'); formidable = require('formidable'); function onServer(route, newServer, reqtype) { function onRequest(request, response){ var pathname = url.parse(request.url).pathname; try {pathname = pathname.substring(1, pathname.length);} catch (err){} if (request.method === 'POST') post(request, response, pathname); else{ if (pathname !== "favicon.ico") { openPage(response, pathname); } } } function openPage(response, pathname){ var path = route(pathname); var html = ""; html = newServer(path); var type = reqtype(path); response.writeHead(302, {"Content-Type" : "text/" + type}); response.write(html); response.end(); } function post(request, response, pathname){ switch(pathname){ case "registration.html": var form = new formidable.IncomingForm(); form.parse(request, function(err, params, files){ fs.appendFile('txt/user.txt', params["login"]); fs.appendFile('txt/user.txt', params["sPass"]); openPage(response, "successfulRegistration.html"); }); break; case "autorization.html": var form = new formidable.IncomingForm(); form.parse(request, function(err, params, files){ connection.query('SELECT * from loginsandpasswords', params, function(err, rows, fields){ if (!err){ for (var i = 0; i < rows.length; i++){ if (rows[i].login === params.login && rows[i].password === params.password){ console.log('5'); console.log('authorization'); openPage(response, "home.html"); return 0; } } console.log(params); } }); }); break; case "messages.html": var form = new formidable.IncomingForm(); form.parse(request, function(err, params, files){ if (!err) { console.log(params); connection.query("INSERT INTO messages VALUES (?,?,?,?)", [params["name"], params["email"], params["subject"], params["comment"]], function (err, result) { if (!err) console.log('comment has been add'); else console.log(err.message); }); } else console.log(err.message); }); break; case "mentions.html": var form = new formidable.IncomingForm(); form.parse(request, function(err, params, files){ if (!err) { console.log(params); connection.query("INSERT INTO mentions VALUES (?,?)", [params["name"], params["comment"]], function (err, result) { if (!err) console.log('comment has been add'); else console.log(err.message); }); } else console.log(err.message); }); break; default: console.log("Uncorrect choice"); } } http.createServer(onRequest).listen(5656); console.log("Server started on port 5656"); }; exports.onServer = onServer;