PHP koruyarak & ederken bir PHP dosyası çalıştırmak için Ajax aramak için nasıl

1 Cevap php

Ben şu anda yükleniyor arkadaş parçası yüzden Ajax, örneğin yoluyla yapmak istedim yaklaşık 3 saniye sürer, kullanıcıların isim ve arkadaşları almak için Facebook php-sdk istimal böylece belge yükleyebilirsiniz ve jQuery sonra arkadaşlar (isimleri ve onların profil resimleri) yükler harici bir PHP komut dosyası çağırır. Ben yaptım bunu yapmak için:

    $(document).ready(function() {
      var loadUrl = "http://localhost/fb/getFriends.php" ;
      $("#friends")
       .html("Hold on, your friends are loading!")
       .load(loadUrl);
    });

Ama ben bir PHP hatası alıyorum:

Fatal error:  Call to a member function api() on a non-object

Ben (yani onu aramak hiç Ajax kullanmayın) aynı PHP dosyasında bu yaparsanız iyi çalışıyor.

Şimdi ben bu oluyor nedenini anlamak düşünüyorum, ama ben bunu nasıl düzeltebilirim bilmiyorum. Benim ana index.php dosyasında ben init ve oturum kodu örneğin bir grup var

    FB.init({
      appId   : '<?php echo $facebook->getAppId(); ?>',
      session : <?php echo json_encode($session); ?>, // don't refetch the session when PHP already has it
      status  : true, // check login status
      cookie  : true, // enable cookies to allow the server to access the session
      xfbml   : true // parse XFBML
    });

Yani sadece tüm PHP / JavaScript oturum veri / değişkenleri erişimi olan bir şekilde benim yeni ayrı bir PHP dosyası getFriends.php tedavisi için en iyi yolu nedir merak ediyorum?

If you haven't used the Facebook php-sdk I'll quickly explain what I mean: Lets say I have index.php and getUsername.php, from index.php I want to retrieve the getUsername.php file via Ajax using .load. Now the problem is getUsername.php needs to access PHP session data/Javascript Init functions which were created in index.php, so I'm thinking of ways to solve this (I'm new to PHP so sorry if this sounds silly) but I'm thinking maybe I could do a POST in jQuery Ajax and post the session data? Or maybe I could create a PHP class, so something like:

class getUsername extends index{} /*Yes I'm a newbie*/

Eğer en başında php-sdk example.php linke bir göz varsa belki daha tam olarak yeni bir dosyadan ulaşılabilir gereken değişkenler anlardın.

Ayrıca farklı bir notta, sayfa render süreleri çalışmak için PHP kullanıyorum ve kullanıcıların getiriliyor yalnız isim gibi görünüyor:

// Session based API call.
if ($session) {
  try {
    $uid = $facebook->getUser();
    $me = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
  }
}

İyi bir 4 saniye sürebilir, bu normal mi? Ben kullanıcıların ayrıntılarını kez olsun onu ya da bir şey önbelleğe iyidir? Hızda şimdi ben sadece bu Ajax-ayıran php dosyaları şeyi anlamaya çalışıyorum, şu anda önemli değil.

Oah bu uzun bir yazıdır.

Zaman ayırdığınız için çok teşekkür ederiz.

1 Cevap

Her şeyden önce, üzgünüm ben seni yanlış ise,

Veri yükleme fonksiyonu yalak göndermek için bir yol var:

$("#target").load("test.php", { 'choices[]': ["Jon", "Susan"] } );

veya

    $("#target").load("test.php", {limit: 25}, function(){
   alert("The last 25 entries in the feed have been loaded");
 });

Bu yardımcı olur umarım ...

PS: It's completely nveyamal fveya the page to take a few seconds to respond... (I refer to the FB API only)