Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我在node.js中得到请求的未定义响应,如下所示_Javascript_Node.js - Fatal编程技术网

Javascript 我在node.js中得到请求的未定义响应,如下所示

Javascript 我在node.js中得到请求的未定义响应,如下所示,javascript,node.js,Javascript,Node.js,我正在创建simple node.js应用程序,下面是创建的4个文件。 文件1:index.js var server = require("./server"); var router = require("./router") var requestHandlers = require("./requestHandlers"); var handle = {} handle["/"] = requestHandlers.start; handle["/start"] = requestHa

我正在创建simple node.js应用程序,下面是创建的4个文件。 文件1:index.js

var server = require("./server");
var router = require("./router")
var requestHandlers = require("./requestHandlers");

var handle = {}
handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;
server.start(router.route , handle);
FILE2:SERVER.js

var http = require("http");
var url = require("url")

function start(route, handle)
{
    function onRequest(request,response)
    {
        var pathname = url.parse(request.url).pathname;
        console.log("request for" + pathname + "recieved");

        response.writeHead(200,{"Content-Type":"text/plain"});

        var content = route(handle, pathname)
        console.log("Contents Is" + content);

        response.write("Content is " +content);
        response.end();
    }

    http.createServer(onRequest).listen(8888)
    console.log("server has started");
}

exports.start = start;
文件3:ROUTER.JS

function route(handle, pathname)
{
    console.log("About to route a request for" + pathname);

    if (typeof handle[pathname] === 'function')
    {
       return handle[pathname]();
    }
    else
    {
        console.log("No Request handler found for "+ pathname);
        return "404 Not Found";
    }
}

exports.route = route;
文件4:requestHandlers.js

function start()
{
    console.log("Request handler 'start' was called ");
    return "Hello Start";
}

function upload()
{
    console.log("Request handler 'upload' was called");
    return "Hello Upload";
}


//This allows us to wire the request handlers into the router, giving our router something to route to
exports.start = start;
exports.upload = upload;
现在,当我在终端上启动index.js并在浏览器上请求时,我得到的输出如下:

$ node index.js server has started request for/recieved About to route a request for/ Request handler 'start' was called Contents Isundefined $node index.js 服务器已启动 请求/收到 将要路由对的请求/ 已调用请求处理程序“start” 内容未定义 因此,在server.js行中//var content=route(handle,pathname)没有返回正确的值“Hello Start”。
我刚开始学习,有谁能告诉我出了什么问题吗?

这对我很有用。也许您对代码进行了更改,但没有重新启动服务器?我还确认它工作正常。哦,真的吗,那为什么我没有得到正确的输出。。我正在使用MAC和sublime文本。有什么问题吗?哦,现在它开始工作了……)我不知道怎么做,但是(汉克斯)