jQuery Ajax - wyświetlanie odpowiedzi

0

Witam,
czy można w ajaxie zrobić tak, że czekam tylko i wyłącznie na status zwrotny? (czy można nie używać interwału?)

Chodzi o to, że mam plik Status.php na który wysyłana jest informacja tylko przy zmianie statusu zamówienia.

Status.php:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $body = file_get_contents('php://input');
    $data = stripslashes(trim($body));

   echo $data; // format JSON
}

Oto jak ma działać:

  1. Nasłuchuję Status.php
  2. Wysyłana jest (z zewnątrz) informacja o zmianie statusu na PENDING
  3. AJAX odbiera informację i wyświetla na stronie
  4. Wysyłana jest (z zewnątrz) kolejna informacja o zmianie statusu teraz na CANCELED
  5. AJAX znów odbiera informację i wyświetla ja na stronie

Proszę o pomoc. Z tego co wiem taki przykład:

    $.ajax({
        url: 'Status.php',
        success: function(response) {
            alert("kolejna odpowiedz" + response.status);
        }
    });

Niestety zadziała tylko raz i w dodatku od razu (czyli po prostu wywoła zawartość pliku i w odpowiedzi nie dostanie nic).

1

jak rozumiem status.php zwraca ten PENDING i CANCELED.

to zapetlenie wywoalnia ajax gdzie w odstepach czasowych ajax odpytuje status.php o PENDING lub CANCELLED, albo

cos takiego jak COMET , gdzie serwer powiadamia klienta o zmianie:
http://www.zeitoun.net/articles/comet_and_php/start

0

dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1