Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.12.2012, 10:52
Новичок на форуме
Отправить личное сообщение для bukvaG Посмотреть профиль Найти все сообщения от bukvaG
 
Регистрация: 09.06.2012
Сообщений: 3

[Node.js, jQuery, nginx] Ошибка получения ответа на POST-запрос от сервера
Доброго времени суток, господа.

Не возвращается результат POST-запроса отсылаемый серверу (приложению).

Код страницы:
<html>
 <head>
  <title>Application</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
  <script type="text/javascript" src="jquery-1.8.3.min.js"></script>
 </head>
 <body>
  <script type="text/javascript">
   $(document).ready(function(){
    $("#myButton").click(function(){
     $.ajax({
       url: "http://app.ru/",
       type: "POST",
       data: "login=leroy&password=password",
       success: function(msg){
          alert(msg);
       },
       error: function(msg){
          alert('Ошибка');
       }
     });
    });
   });
  </script>
  <input type="button" id="myButton" value="Нажать" />
 </body>
</html>


Код сервера:
server.js
// Иодули
var http = require('http');

// Запуск сервера
function start() {
 // Обработка запросов
 function onRequest(request, response) {
  // ...
  switch(request.method)
  {
   case 'POST':
   {
    // ...
    var postData = "";
    // ...
    request.setEncoding("utf8");
    // ...
    request.addListener("data", function(postDataChunk) {
      // ...
      postData += postDataChunk;
      
      return;
    });
    
    // ...
    request.addListener("end", function() {
      // И вот тут что я только не пробовал,
      // все варианты писать просто стыдно :-)
      
      return;
    });
    
    break;
   }
   case 'GET':
   {
    // ...
    var body = 'формирование html-разметки страницы';
    
    // Установка заголовка
    response.writeHead(200, {'Content-Type': 'text/html'});
    // Формирвоание текста ответа
    response.write(body);
    // Конец ???
    response.end();
    
    break;
   }
  }
 }
 
 // Создание http-сервера
 http.createServer(onRequest).listen(1337, '127.0.0.1');
 // Информирование о запуске http-сервера
 console.log('Server running at http://127.0.0.1:1337/');
}

// Экспорт функции запуска сервера
exports.start = start;


index.js
// Создание http-сервера
var server = require("./server/server");
// Запуск http-сервера
server.start();

(хотя это не так важно)

Если я реализовывал возврат как
request.addListener("end", function() {
      // Установка заголовка
      response.writeHead(200, {'Content-Type': 'text/plain'});
      // Формирвоание текста ответа
      response.write('Freddy');
      // ...
      response.end();
      
      return;
    });

то при жмакании на кнопку POST-запрос отправляет данные, а вот при попытке вернуть результат отладчик ("Инструменты разработчика" в Chrome) выкидывает
"POST http://app.ru/ 403 (Forbidden) "
а если полностью то
POST http://app.ru/ 403 (Forbidden) jquery-1.8.3.min.js:2
send jquery-1.8.3.min.js:2
v.extend.ajax jquery-1.8.3.min.js:2
(anonymous function) app.ru:12
v.event.dispatch jquery-1.8.3.min.js:2
o.handle.u jquery-1.8.3.min.js:2

Вот так прописал сервер (nginx):

Код:
    # app.ru
    server {
        # ...
        server_name  app.ru;
        
        # лог доступа
        access_log   c:/app/logs/access.log;
	
	location / {
            root   c:/app;
            index  index.html;
            error_page 403 @403;
        }
        
        location @403 {
            proxy_pass http://127.0.0.1:1337;
        }
    }
Подскажите пожалуйста почему у меня возникает ошибка и как будет правильно. (если такое можно без подключения доп модулей)

Заранее спасибо за любые комменты
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление страницы после получения ответа от сервера potrashitel AJAX и COMET 9 24.02.2015 10:04
Не работает CSS после получения ответа сервера Azzi AJAX и COMET 17 04.10.2011 14:36