Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Сервер nginx не возвращает ответ после ajax-post запроса (G00dvin)
Author Message
G00dvin
Заглянувший



Joined: 18 May 2010
Posts: 10
Карма: 0
   поощрить/наказать


PostPosted: Tue Mar 22, 2011 11:02 am (написано за 5 минут 13 секунд)
   Post subject: Сервер nginx не возвращает ответ после ajax-post запроса
Reply with quote

Добрый день.

Есть html страничка с которой идет обращение на сервер через ajax-post запрос.
Code (html): скопировать код в буфер обмена
<html> (december.com/html/4/element/html.html)
        <head> (december.com/html/4/element/head.html)
                <script (december.com/html/4/element/script.html) src="jquery.js"> (december.com/html/4/element/.html)</script>
                <script> (december.com/html/4/element/script.html)

                        function factorial() {

                                $('div').append('<img (december.com/html/4/element/img.html) src="ajax-loader.gif" hspace="0px" vspace="0px"> (december.com/html/4/element/.html)')
                                $.post(

                                        'factorial.php', {}, onFactorial                                               
                                )
                        }

                        function onFactorial(data) {

                                $('div').empty();
                                alert(data);
                        }       
               
                </script>
        </head>
        <body> (december.com/html/4/element/body.html)

                <div> (december.com/html/4/element/div.html)</div>
                <input (december.com/html/4/element/input.html) type="button" value="" onclick="javascript: factorial()"> (december.com/html/4/element/.html)
       
        </body>
</html>
Сам скрипт "спит" 2 минуты, затем вычисляет факториал, пишет его в файл и возвращает пустой div.
Code (php): скопировать код в буфер обмена
<?php

function factorial($n) {
       
    if ($n == 0) {
           
        return 1;
       
    } else {
           
        return $n * factorial($n - 1);
    }
}

sleep (www.php.net/sleep)(120);
       
$f = factorial(100);
       
$file = fopen (www.php.net/fopen)('test.txt', 'w+');
fwrite (www.php.net/fwrite)($file, $f);
fclose (www.php.net/fclose)($file);

header (www.php.net/header)("Cache-Control: no-store, no-cache,  must-revalidate");
header (www.php.net/header)("Expires: "date (www.php.net/date)("r"));
header (www.php.net/header)("Content-Type: text/html; charset=windows-1251");

?>

<div></div>
По идее после 2-х с небольшим минут на страничке должен произойти alert с пустым div, но этого не происходит.
В консоли ошибок javascript ошибок не наблюдается, файл test.txt на сервере создается.
Почему может не происходить alert?

Сервер nginx + php-fpm. Я так думаю, что скорее всего проблема в nginx, но где понять не могу.

С уважением, Евгений
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Sat Mar 26, 2011 12:00 pm (спустя 4 дня 57 минут; написано за 24 секунды)
   Post subject:
Reply with quote

Отключите nginx и проверьте работоспособность Вашего примера.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML