По результатам переписки.
Код который я даю не предназначен для использования! Это просто пример нативного ajax и асинхрона от nodejs. Вообще, нужно придерживаться хотябы rest и если что то летит на сервер, то обязательно с формы и post/put запросом. Get только для получения данных с сервера.
И реквесты в ноде так не обрабатывают.
И респонс, если прилетела кирилица, отправит назад отработку.
Всё что написано ниже чисто для понимания сути.
var simplePage = '<h1>тестовая отправка данных без формы</h1>'+
'<hr><input type="text" id="txt">'+
'<input type="button" id="button" value="отправить что-то">'+
'<script>(function(){'+
'var button = document.getElementById("button");'+
'button.onclick = function(){var xhr = new XMLHttpRequest();'+
'xhr.open("GET","/toserver/"+document.getElementById("txt").value, true);xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");'+
'xhr.send();'+
'xhr.onreadystatechange = function(){if(xhr.readyState == 4) alert(xhr.responseText)}}'+
'})()</script>';
var http = require('http');
var server = http.createServer(function(req,res){
console.log(req.url);
if (req.url === '/') {
res.writeHead(200, {'Content-type' : 'text/html; charset=utf-8'});
res.write(simplePage);
res.end();
}
else{
res.writeHead(200, {'Content-type' : 'text/html; charset=utf-8'});
//res.write(simplePage);
res.end('вы отправили нам '+req.url.slice(10));
}
});
server.listen(1333,function(){console.log('listen server at 1333')});