Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2015, 00:58
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

Ошибка при создании простого сервера
node v0.12.0
Код:
var http = require('http');
var url = require('url');
var arr = [];
var server = new http.Server(function(req,res){
    
    var uparse = url.parse(req.url,true);
    
    arr.push(uparse.query.msg);
    
    res.writeHead(200,{"Content-Type": "text/html"});
    var str = '';
    for(i=0;i<arr.length;i++){
        if(typeof(arr[i])==='undefined'){
            continue;
        }
        str += '<p>'+arr[i]+'</p>';
    }
    
    res.end(str);
});

server.listen(1337, '127.0.0.1');

Ошибка
Код:
SyntaxError: Unexpected identifier
    at Object.exports.createScript (vm.js:44:10)
    at REPLServer.defaultEval (repl.js:117:23)
    at bound (domain.js:254:14)
    at REPLServer.runBound [as eval] (domain.js:267:12)
    at REPLServer.<anonymous> (repl.js:279:12)
    at REPLServer.emit (events.js:107:17)
    at REPLServer.Interface._onLine (readline.js:214:10)
    at REPLServer.Interface._line (readline.js:553:8)
    at REPLServer.Interface._ttyWrite (readline.js:830:14)
    at ReadStream.onkeypress (readline.js:109:10)
Почему возникает эта ошибка? на предыдущей версии нода все работало!
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2015, 11:46
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,412

Sanu0074, Сделайте проверку в 8 строке есть ли что то query или там undefined. А вообще вроде все норм.
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #3 (permalink)  
Старый 24.03.2015, 12:04
Аспирант
Посмотреть профиль Найти все сообщения от newuser1001
 
Регистрация: 24.03.2015
Сообщений: 92

Сообщение от cyber
проверку в 8 строке есть ли что то query или там undefined
так у него же есть обработка
if(typeof(arr[i])==='undefined'){

а даже если бы и не было, это не должно привести к ошибке, просто будет
str += '<p>'+undefined+'</p>';
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2015, 12:10
Аспирант
Посмотреть профиль Найти все сообщения от newuser1001
 
Регистрация: 24.03.2015
Сообщений: 92

Sanu0074,
попробуйте убрать new, может быть, с 12 версии так нельзя создавать сервер. На 11 все работает (при запуске сервера). И Вы не указали, на каком этапе выпадает ошибка, при запуске сервера, или при обработке запроса. По выводу -- похоже, что при запуске, а там хз.
Ответить с цитированием
  #5 (permalink)  
Старый 24.03.2015, 12:19
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,412

newuser1001, если query будет undefined, а он будет если не будет параметров то попытка получить msg приведет к падению кода на 8 строке.
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #6 (permalink)  
Старый 24.03.2015, 12:20
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,412

Сообщение от newuser1001
попробуйте убрать new
Кстати да, не обратил внимание new там не нужен.
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #7 (permalink)  
Старый 24.03.2015, 12:23
Аспирант
Посмотреть профиль Найти все сообщения от newuser1001
 
Регистрация: 24.03.2015
Сообщений: 92

cyber,
А, да, ступил Но тогда у него бы выскакивало
TypeError: Cannot read property 'msg' of undefined
Ответить с цитированием
  #8 (permalink)  
Старый 24.03.2015, 12:52
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 16.12.2011
Сообщений: 4,412

Сообщение от newuser1001
А, да, ступил Но тогда у него бы выскакивало
НУ так я и не сказал что из за этого падает код)
Сообщение от cyber
то попытка получить msg приведет к падению кода
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #9 (permalink)  
Старый 24.03.2015, 15:54
Аватар для Sanu0074
Аспирант
Отправить личное сообщение для Sanu0074 Посмотреть профиль Найти все сообщения от Sanu0074
 
Регистрация: 16.12.2012
Сообщений: 80

просто обновился дo v 0.12.1 и боль прошла)
всем спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему ошибка при статусе 200, или как сформировать ответ? [NodeJS&AJAX] blacklool AJAX и COMET 2 10.03.2015 20:36
Проблема при создании сайта zorro76 Ваши сайты и скрипты 2 01.03.2015 23:36
Ошибка в функции вывода анимации при ожидании ответа сервера Эдди AJAX и COMET 4 26.05.2014 22:59
Ошибка при добавлении обработчика к событию Riim Events/DOM/Window 32 19.01.2010 13:17
Кто чем пользуется при создании html элементов vflash Общие вопросы Javascript 14 24.08.2009 20:12