Node.js TypeError: параметр ‘url’ должен быть строкой, а не неопределенным

#javascript #node.js #http #url

#javascript #node.js #http #url

Вопрос:

Я пытаюсь проанализировать некоторые URL-адреса, используя модуль url и http-сервер.

Приведенный ниже код:

 var http = require('http');
var URL = require('url');
var port = 8080;

var server = http.createServer(function(req, res) {
    var parsedURL = URL.parse(req.URL, true).pathname;
    switch(parsedURL) {
        case 'test/myurl':
            console.log('Valid URL.');
            break;
        default:
            console.log('404!')
    }
});

server.listen(port);
console.log('Service at port: '   port);
 

выдает следующую ошибку:

 TypeError: Parameter 'url' must be a string, not undefined
 

в этой строке:

 var parsedURL = URL.parse(req.URL, true).pathname;
 

Кто-нибудь может помочь? Любое объяснение будет оценено.

Комментарии:

1. попробуйте использовать req.url

Ответ №1:

Имя свойства url для http.IncomingMessage объекта:

 req.url
 

не

 req.URL
 

таким образом, req.URL есть undefined .