Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ajax - odpowiedź dla wybranych funkcji
Forum PHP.pl > Forum > XML, AJAX
torbicki65
Hej
Korzystam sobie z takiego kodu (chyba dość standardowy):

  1.  
  2. var sendRequest, handleResponse;
  3.  
  4.  
  5. sendRequest = function (queryString) {
  6. var xhr = createXHR();
  7. if (xhr) {
  8. xhr.open("POST", "http://localhost:3000/ajax/", true);
  9. xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  10. xhr.onreadystatechange = function () {
  11. handleResponse(xhr);
  12. };
  13. xhr.send(queryString);
  14. }
  15. };
  16.  
  17. handleResponse = function (xhr) {
  18. if (xhr.readyState === 4 && xhr.status === 200) {
  19.  
  20. var msgbox = document.getElementById("msg");
  21. msgbox.innerHTML = xhr.responseText;
  22.  
  23. }
  24. };
  25.  
  26. function setOrder(){
  27.  
  28. var url = 'cos';
  29. sendRequest(url);
  30.  
  31. }
  32.  


W skrócie - jest to galeria zdjęć i funkcja setOrder przekazuje kolejność zdjęć (po zmianie), ale nie jest to istotne. W chwili obecnej po wywołaniu setOrder() komunikat zwrotny wyświetlam w funkcji handleResponse.
Jednakże na stronie chciałbym korzystać w kilku miejscach z Ajaxa, czyli wywoływać kilka funkcji. Co za tym idzie - chciałbym, aby kod dotyczący konkretnej odpowiedzi (czyli np. msgbox.innerHTML = xhr.responseText; ) był w funkcji wywoływanej, a w handleResponse uzyskać tylko i wyłącznie wartość odbieraną.

Czy tak się da? Nie ukrywam, że świadomego używania JS i ajaxa dopiero się uczę.
#luq
przkazuj parametrem callbacka

[JAVASCRIPT] pobierz, plaintext
  1. function foo(fCallback){
  2. fCallback();
  3. }
  4.  
  5. foo(function(){
  6. console.log(123);
  7. })
[JAVASCRIPT] pobierz, plaintext
torbicki65
Dzięki za nakierowanie, co prawda trochę nie rozumiem odpowiedzi, ale poszperałem w necie i zmieniłem smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.