Я написал очень простой сервер:простой запрос Ajax на локальный сервер nodejs
/* Creating server */
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
});
/*Start listening*/
server.listen(8000);
я запустить его с помощью nodejs.
Теперь я хочу написать простой клиент, которые используют AJAX вызова для отправки запроса на сервер и ответ печати (Hello World)
Здесь Javasсript-clinet:
$.ajax({
type: "GET",
url: "http://127.0.0.1:8000/" ,
success: function (data) {
console.log(data.toString);
}
});
При открытии клиента HTML файл, который я получить следующее сообщение об ошибке в консоли:
XMLHttpRequest cannot load http://127.0.0.1:8000/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
Я попытался добавить в Ajax вызова следующие:
$.ajax({
type: "GET",
url: "http://127.0.0.1:8000/" ,
dataType: 'jsonp',
crossDomain: true,
success: function (data) {
console.log(data.toString);
}
});
Но тогда я получить
Resource interpreted as Script but transferred with MIME type text/plain: "http://127.0.0.1:8000/?callback=jQuery211046317202714271843_1410340033163&_=1410340033164".
Любой человек может объяснить, что я сделал неправильно и, возможно, как это исправить?
Большое спасибо!
Спасибо за ответ, но как я могу отправить модифицирована index.html в клиент, если, например, содержимое index.html является динамическим и по каждому запросу оно должно быть другим? – Farseer
Пример, который я привел, очень прост. Предполагается, что ваш контент статически хранится в файле. Разумеется, вы можете предоставить динамический контент, который может быть основан на некоторых данных с удаленного сервера, например базы данных или удаленного веб-сервиса. Все, что вам нужно сделать, - это динамически создавать контент. Я предлагаю вам изучить структуру [Express] (http://expressjs.com) Node.js, которая позволяет вам обслуживать [файлы шаблонов] (http://expressjs.com/guide.html#template-engines), где есть являются заполнителями для динамического контента. После подготовки динамического содержимого вы можете передать его движку шаблонов. – Eye
Шаблонный движок + Экспресс корректно отображает ваш динамический контент и обслуживает клиента. – Eye