Передача данных с
Всем привет.
Заранее прошу прощения, если мой вопрос слишком глупый. Это мой первый опыт с Node JS, в интернетах ответа мне не удалось найти :( У меня достаточно простая задача: есть сервис на node.js, который должен по запросу передавать данные клиенту (html с java-script) в формате json. Задача достаточно типовая, но никак не получается ее реализовать :help: HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> function log(msg){myDIV.innerHTML += msg+"<br/>";} function start(){ var dataSource = 'http://127.0.0.1:8080/'; var xhr = new XMLHttpRequest(); xhr.open('POST', dataSource, true); xhr.send(); xhr.onreadystatechange = function() { if (xhr.readyState != 4) return; if (xhr.status != 200) { log('Ошибка '+xhr.status + ': ' + xhr.statusText); } else { log(xhr.responseText); } } } </script> </head> <body> <button onclick="start()">Старт</button> <div id="myDIV"></div> </body> </html> Node JS: var http = require('http'); var server = new http.Server(); server.listen(8080, '127.0.0.1'); server.on('request', function(req, res) { var json = { name:"my JSON Object", value:"kuku!" }; console.log('%s request submited', (new Date()).toISOString()); res.writeHead(200, {"Content-Type": "application/json"}); res.end(JSON.stringify(json)); }); Если со страницы клиента клацать кнопку "Старт" - в консоли ноды появляется сообщение о поступившем запросе. Но клиент так и не получает данные - в соответствующий ДИВ записывается "Ошибка 0: ". Браузер по адресу http://127.0.0.1:8080/ показывает строку с валидным JSON Файрвол и антивирус отключил... Помогите разобраться, что и где я упустил, плиз. |
В браузере возникает ошибка: XMLHttpRequest cannot load http://127.0.0.1:8080/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
Значит необходимо, чтобы в ответе от сервера на этот запрос был заголовок Access-Control-Allow-Origin: * var server = new (require('http').Server)(); server.listen(8080, '127.0.0.1'); server.on('request', function(req, res) { if(req.url == "/") { var json = { name:"my JSON Object", value:"kuku!" }; console.log('%s request submited', (new Date()).toISOString()); res.writeHead(200, { "Content-Type": "application/json", "Access-Control-Allow-Origin": "*" }); res.write(JSON.stringify(json)); } res.end(); }); |
Часовой пояс GMT +3, время: 13:17. |