Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Działanie HTTP POST i jego wpływ na aplikacje, programowanie rozproszone
Niktoś
post
Post #1





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Witam , czy każdorazowe wykonanie żądania HTTP POST powoduje parsowanie całego dokumentu w języku PHP?

Ten post edytował Niktoś 28.01.2012, 21:23:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Niktoś
post
Post #2





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Chyba mnie to przerasta.
Te żądania ajaksowe wydają mi się w moim przypadku bezsensowne.
Obserwuje jak się zachowuje skrypt z użyciem ajaxowego requestu w debugerze serwerowym i firebuggu.
Otóż wygląda to tak:
Strona A z innej domeny wysyła żądanie POST na stronę B mojej domeny-oczywiście tego procesu nie będziemy widzieć w firebugu, za to pięknie widać jak skrypt się wykonuje w debugerze serwerowym.
Aby wyświetlić to co zostało wysłane przez stronę A z innej domeny używam requestu ajaxowego:
[JAVASCRIPT] pobierz, plaintext
  1. window.setInterval(function() {
  2. xhr = new XMLHttpRequest();
  3. xhr.open('POST', 'http://77.254.4.72/Info.aspx', true);
  4. xhr.onreadystatechange = function (data) {
  5. if (xhr.readyState == 4) //4==DONE
  6. console.log(data);
  7. }
  8. xhr.send();
  9. }, 5000);
[JAVASCRIPT] pobierz, plaintext

Tylko nie daje to żadnego efektu.
(xhr.readyState == 4) //4==DONE
console.log(data);

Fajnie to widać przy wykonywaniu przy otrzymywaniu wyniku, kiedy request się wykona xhr.readyState == 4(onsucces) i strona A z innej domeny wykonuje ten skrypt, widać to debugerze serwerowym, a czego nie widać w firebugu. Status on success jest wykonywany dla tamtej domeny nie dla mojej.Strona A z innej domeny wysyła kolejne żądanie i na kolejne żądanie dostaje odpowiedź, a u mnie efektów nie widać.A przecież o to mi chodzi aby przedstawić wynik użytkownikowi.
Po laicku mówiąc,wygląda to tak jakby strona Strona A z innej domeny parsowała Wasz dokument PHP ,a Wy nie moglibyście zobaczyć efektów tego, jedynie w debugerze serwerowym i nic nie mogli dalej z tym zrobić. Normalnie straszne to dla mnie.


Chyba ta odpowiedź wydaje mi się najbardziej trafna:
Cytat
Mówiąc krótko - nic nie zrobisz. To, co użytkownik otrzymał w momencie otwarcia strony metodą GET nijak się ma do tego, gdzie będzie wysłany POST po 10 sekundach


Jedyne rozwiązanie jakie przychodzi mi na myśl to zrobić chwilową blokadę wykonywania skryptu na 15-20s ,z loaderem "Proszę czekać.Trwa ładowanie danych".
Chodzi o to ,że że żądanie Post przesyła parametr.Tak więc według niego zrobię tą blokadę.jeśli zmienna nie będzie miała ustawionego parametru to chwilowo przerwę działanie skryptu.
Tak więc żądania z mojego serwera na tej stronie będą z timeoutem,żądanie z serwera partnera bez.Żądanie POST z serwera partnera będzie działać normalnie i wstawi mi dane wysłane postem do bazy danych,po czym uruchomi się dalsze wykonywanie skryptu i odczytanie danych z bazy.Kombinatorstwo,ale nic lepszego nie przychodzi mi na myśl.Temat do zamknięcia.

Ten post edytował Niktoś 5.02.2012, 17:18:35
Go to the top of the page
+Quote Post

Posty w temacie
- Niktoś   Działanie HTTP POST i jego wpływ na aplikacje   28.01.2012, 17:19:15
- - l0ud   Wybacz, ale to pytanie w takiej formie jest bez se...   28.01.2012, 18:10:01
- - Niktoś   CytatWybacz, ale to pytanie w takiej formie jest b...   28.01.2012, 19:16:41
- - mls   Nie da się wykonać $_POST - to jest tylko zmi...   28.01.2012, 21:03:10
- - Niktoś   To nie tylko zmienna, chodziło mi o metodę przesył...   28.01.2012, 21:11:00
- - l0ud   $_POST to globalna zmienna tablicowa a nie ża...   28.01.2012, 21:32:01
- - Niktoś   @UP wreszcie rzeczowa odpowiedź. To bez względu c...   28.01.2012, 21:43:50
|- - Theqos   Cytat(Niktoś @ 28.01.2012, 21:43:50 )...   29.01.2012, 11:46:43
- - by_ikar   POST wygląda bardzo podobnie do GET, tyle że w prz...   29.01.2012, 10:43:17
- - Crozin   Czytam Twoje posty, próbuję cokolwiek sensownego w...   29.01.2012, 11:24:17
- - Niktoś   Postaram się to wyjaśnić: Użytkownik wypełnia dane...   29.01.2012, 12:25:49
- - mls   Mówiąc krótko - nic nie zrobisz. To, co użytkownik...   29.01.2012, 13:27:13
- - Niktoś   Niestety regulamin tamtego serwisu zabrania mi udo...   29.01.2012, 13:53:23
- - Crozin   Cytat.Myślałem ,że jak szerzej przedstawię swój pr...   29.01.2012, 15:09:00
- - Niktoś   Opis jak najbardziej poprawny.Dziękuję.No i właśni...   30.01.2012, 16:11:22
- - Crozin   CytatPo przekierowaniu użytkownika na w/w stronę p...   30.01.2012, 19:12:56
- - Niktoś   Chyba mnie to przerasta. Te żądania ajaksowe wydaj...   5.02.2012, 19:13:02
- - Crozin   I znowu bełkot... czytaj swoje posty przed wysłani...   5.02.2012, 19:57:10
- - kwiateusz   Uff a myślałem że to ja ułomny jestem i znowu nie ...   5.02.2012, 20:57:47
- - Niktoś   CytatI znowu bełkot... czytaj swoje posty przed wy...   6.02.2012, 11:31:49
- - strife   @Niktoś - Nie no stary od razu lepiej, jaśniej i c...   6.02.2012, 13:47:33
- - piotrooo89   a jak tak z czystej ciekawości, mógłbyś podać jaki...   6.02.2012, 20:39:39
- - Crozin   CytatCzy ja pisze po hiszpańsku??Nie zarzucaj bełk...   7.02.2012, 12:47:57


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 10:32