Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1

Как работать со страницами на локальной машине

12.04.2013, 18:50. Показов 2880. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с проблемой изучай учебник Ильи Кантора, проблема появилась на разделе ajax.
Поставил по инструкции сервер node, запустил. Скрипты обрабатывает, вроде все работает (запросы идут, ответы возвращаются) но только для "голого запроса" на сервер - то есть, написал, допустим, на запрос /test ответить текстом Привет... - он это и написал при заходе на localhost:8080/test.
При попытке послать аякс запрос или при попытке послать данные из созданной отдельно страницы - тупик, страница не видит сервера и т.д.
Как с помощью только модуля node-static послать запрос на мой сервер node? На примере данного примера

переписанный вопрос с форума Ильи
Кликните здесь для просмотра всего текста

Установил все как по инструкции:
1. node.js
2. модуль node-static
Создал файл server.js и скопировал туда приведенный код. Запустил из папки с server.js, node server.js - запустилось. Но, как написано далее: Откройте в браузере http://127.0.0.1:8080/server.js.
Должно вывести код файла server.js.
Не чего не выводит, ожидание ответа и все. Хотя если добавить в код строчку
console.log(req.url);
видно в консоле что запрос на сервер пошел.
Думал, не чего страшного и далее разберусь - не удалось.
Следующая задача. Просто голосовалка.
Запускаем сервер, жмем кнопку Голосовать и получаем ошибку
XMLHttpRequest cannot load file:///D:/vote. Cross origin requests are only supported for HTTP. index.html:1
Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
Исправляем строку
JavaScript
1
xhr.open('GET', '/vote', true);
на
JavaScript
1
xhr.open('GET', 'vote', true);
наблюдаем ошибку
XMLHttpRequest cannot load file:///D:/JavaScript/Project/TestNode/vote. Cross origin requests are only supported for HTTP. index.html:27
Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
Прописываем прямой путь http://127.0.0.1:8080/vote (просто на этот адрес заходит) и наблюдаем ошибку
XMLHttpRequest cannot load http://127.0.0.1:8080/vote. Origin null is not allowed by Access-Control-Allow-Origin.

часть 2
А по следующей задаче - наверное открываете index.html из проводника, вместо того, чтобы в браузере открыть http://localhost:8080
угу, открывал из проводника, при попытке http://localhost:8080 или http://localhost:8080/index.html не чего стоящего не происходит, запрос на сервер идет - ответа нет (так как не обрабатывается в коде не как).
структура
папка Test
|______node_modules(тут модуль node-static)
|index.js
|index.html
код index.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var http = require('http');
var static = require('node-static');
var file = new static.Server('.');
console.log(file.root);
http.createServer(function (req, res) {
    console.log(req.url);//выводим путь куда стучимся
    if (req.url == '/vote') {
        res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});
        var now = new Date();
        var timeStr = now.getHours()+':'+now.getMinutes()+':'+now.getSeconds();
 
        res.end('Голос принят ' + timeStr);
        return;
    }
    if (req.url == '/test'){
        res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});
        res.write('test ok');
        res.end();
    }
    req.addListener('end', function () {
        file.serve(req, res);
    });
 
}).listen(8080);
попытки зайти через браузер на адреса:
localhost:8080
localhost:8080/index
localhost:8080/index.html
localhost:8080/vote
localhost:8080/test
обрабатывается только последних два запроса
Сообщение от Лог консоли
D:\JavaScript\Project\TestNode
/
/index
/index.html
/vote
/favicon.ico
/test
/favicon.ico
/favicon.ico
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.04.2013, 18:50
Ответы с готовыми решениями:

ЧПУ не хотят работать на локальной машине
Здравствуйте!... Вот есть такой файл .htaccess ## MAIN DEFAULTS ### DirectoryIndex index.php Options -Indexes ...

Как работать с рубриками и страницами
Как работать с рубриками и страницами? к примеру есть несколько страниц. (главная,новости,новости ит) когда я создаю записи и публикую...

Как работать со страницами содержащими фреймы?
Вопрос такой: По моему запросу на стороннем сервере формируется страница состоящая из 2-х фреймов. Есть ли возможность перехватить идущую...

2
 Аватар для Dolphin
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
12.04.2013, 18:55
А почему бы не использовать Apache?
0
 Аватар для Drygba
512 / 454 / 119
Регистрация: 17.02.2012
Сообщений: 1,032
Записей в блоге: 1
13.04.2013, 10:31  [ТС]
Насколько я понял, все что мне может дать апачи, делает node. В таком случае использование апачи немного некорректно

Добавлено через 12 часов 27 минут
Спасибо за помощь Aves'у с форума Ильи, в node v0.10 переработан алгоритм интерфейса stream. Для того чтобы все заработало как надо, требуется в метод http.createServer... добавить строку request.resume()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.04.2013, 10:31
Помогаю со студенческими работами здесь

Как создать БД на локальной машине?
всем привет утроился работать в контору на поддержку БД MS SQL Server 2012 раньше администрированием БД не занимался только...

Как подсоединиться на локальной машине к БД SQL?
Подскажите пожалуйста. Как мне выполнять упражнения в которых требуеться подключение к БД на SQL сервере, когда он не стоит на машине. В...

Как на локальной машине тестировать ASP?
Как на локальной машине тестировать ASP? Знаю, что можно, но на 'поиски правды' времени нет.

Как воспроизвести видео на локальной машине
Здравствуйте. Надо сделать презентацию в html. То есть сверстать статичный сайт и открывать его оффлайн в браузере. В верстке есть...

Сайты на локальной машине не отображаются как надо
Здравствуйте уважаемые форумчане. Помогите с проблемкой: ставил xampp и решил расшарить в сети несколько сайтов в локальной сети. Немного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru