Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Facebook - pisanie postów za zgodą uzytkownika
Forum PHP.pl > Forum > Przedszkole
kropamk
Witam serdecznie. Mam skrypt który pozwala napisać na tablicy użytkownika za jego zgodą

  1. <div id="fb-root"></div>
  2. <script src="http://connect.facebook.net/en_US/all.js"></script>
  3. <script>
  4. FB.init({appId: "", status: true, cookie: true});
  5.  
  6. function postToFeed() {
  7. FB.ui(
  8. {
  9. method: 'feed',
  10. message: '',
  11. link: '',
  12. picture: '',
  13. name: '',
  14. caption: '',
  15. description: ''
  16. },
  17. function(response) {
  18. if (response && response.post._id) {
  19. // reakcja na opublikowanie postu
  20. } else {
  21. // reakcja na brak opublikowania
  22. }
  23. }
  24. );
  25. }
  26.  
  27.  
  28.  
  29. </script>
  30. <p><a onclick="postToFeed(); return false;">Napisz</a></p>


Chciałbym aby w miejscu // reakcja na opublikowanie postu oraz // reakcja na brak opublikowania wykonywał się skrypt z zewnątrz. Dokładnie to jest to forumlarz i osoba która kliknie wyślij najpierw ma zobaczyć okno do opublikowania postu a po nim ma się wykonać skrypt php z zewnatrz (na moim serwerze) informujący o tym, że wszystko przebiegło ok. Sam skrypt php już mam, ale nie mam tego co powinno się znajdować w tych dwóch miejscach powyżej. Proszę o pomoc.
maviozo
Moim zdaniem powinieneś przesłać do swojego php danych za pomocą AJAX. Najwygodniej zapewne dołączyć sobie jQuery i skorzystać z $.ajax(). Oczywiście można podstawową obsługę ajaxa zaimplementować z innych gotowców.
kropamk
Jakiś przykład, propozycja jak to zrobić smile.gif?
maviozo
A to tak trudno zobaczyć jak ajax działa? Proszę, pełno przykładów: http://api.jquery.com/jQuery.ajax/
Od wersji 1.5 zmienili trochę sposób działania, ale stary także działa. Przykład?
Kod
$.ajax({
    type: "POST",url: "skrypt.php",
    data: "sukces="+sukces
    success: function(html){
        $("#wynik").html(html);
        });
    }
Powyższy skrypt wyśle do pliku skrypt.php zmienną sukces, pod którą możesz podstawić co chcesz. Zmienną w php sprawdzasz przez $_POST['sukces']. Następnie mielisz przez php, wynik zapisujesz przez zwykłe echo. Potem to co wyplujesz przez php dostajesz jako argument html funkcji i możesz robić z nim co chcesz. W przykładzie po prostu do obiektu z ID wynik wklejasz to co wydrukował php. Ale możesz równie dobrze wysłać z PHP strukturę json, w ajaxie również zdeklarować, że odpowiedzią będzie json, a potem przez parametr funkcji dochodzisz do jego elementów. Czyli jeżeli z php wyplujesz:
Cytat
{
"odpowiedz":1,
"wiadomosc":"Udało się"
}
To potem możesz nimi operować:
Kod
success: function(json){
    if (json.odpowiedz==1) alert(json.wiadomosc);
    });
}
Aha - o ile w kodzie JS można pisać nazwy bez cudzysłowów, np: {odpowiedz:1,wiadomosc:"blabla"}, to w zwróconym wyniku MUSZĄ być w cudzysłowach - kiedyś pół dnia na to zmarnował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.