Я новичок в NodeJS.NodeJS console.log работает, но response.write не
Я читаю this book, чтобы узнать его.
Я использую следующий код в одном из модулей обработчика запроса. В принципе, когда я получаю запрос от браузера, я посылаю вызов этой функции и получаю содержимое команды «DIR» в окнах, отображаемых на экране.
index.js файл является тот, который я бегу как веб-приложение
Это index.js
var server = require("./server.js");
var router = require("./router.js");
var requestHandlers = require("./requestHandlers");
var handle = {};
handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;
server.start(router.route, handle);
Это server.js Файл-сервер отправляет запросы к маршрутизатору
var http = require("http");
var url = require("url");
function start(route, handle)
{
function onRequest(request, response)
{
//console.log("Request recieved!");
var pathname = url.parse(request.url).pathname;
console.log("Request for " + pathname + " has been recieved");
response.writeHead(200, {"Content-Type": "text/plain"});
route(handle, pathname, response);
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("Server started!");
}
exports.start = start;
Это r external.js Это маршрутизатор, который использует ручку , созданную в index.js (используется для отображения запроса соответствующим обработчикам).
function route(handle, pathname, response)
{
console.log("About to route the request " + pathname);
if(typeof handle[pathname] == 'function')
{
handle[pathname](response);
}
else
{
console.log("No request handler found for " + pathname);
response.writeHead(404,{"Content Type": "text/plain"});
response.write("404 not found");
response.end();
}
}
exports.route = route;
И, наконец, это где запросы решаются, в requestHandlers.js Здесь, это выглядит console.log заявление отлично работает, но Response.Write заявления не делают.
var exec = require("child_process").exec;
function start(response)
{
console.log("Request handler 'start' was called.");
exec("dir", function(error, stdout, stderr) {
response.writeHead(200,{"Content Type": "text/plain"});
response.write("Hello Upload!");
response.write(stdout);
response.write("Hello!");
console.log(stdout);
response.end();
});
}
function upload(response)
{
console.log("Request handler 'upload' was called.");
response.writeHead(200,{"Content Type": "text/plain"});
response.write("Hello Upload!");
response.end();
}
exports.start = start;
exports.upload = upload;
Любая помощь будет принята с благодарностью
Нам понадобится A) полный пример. Фрагмент выше выглядит нормально, но нам нужно увидеть всю картину. И B) точное, техническое описание поведения программы, а не «оно не работает». Что оно делает? Что вы ожидаете? Есть ли сообщения об ошибках? –
+1 отправить полный код. скажите, что он делает и что это ** предполагается ** делать – CuriousMind
Там, я внес изменения в соответствии с запросами. :) –