2010-11-18 20 views
0

Bazı menü tıklatmayla php ile oluşturulan içeriği ana div'a yüklemek için ajax kullanıyorum.ajax yüklü alt sayfadan yeniden yükleme

Ne yapmak isterim, bir çeşit yeniden yükleme işlevine sahip olmaktır - eğer bazı zaman aşımı süresi dolduğunda kullanıcının yeniden kimlik doğrulaması yapmasını istiyorsanız, içerik div div'ına yüklenmeden önce bu menüyü tıklatıyorum.

Bunu php's başlığında ("location: login") yaparsam;

Ben yükleme div içinde yönlendirmek istiyor sanırım ama devamlı sayfa yönlendirmek istiyorum ... Nitekim

cevap

1

Yapabileceğiniz en iyi dosyasının en üstünde bu

gibi bazı şey

ob_start(); 

yılında

if($_SEESION['active']){ 
    ob_end_flush() 
}else{ 
    ob_clean(); 
    echo "{Session_invalid}"; 
    ob_end_flush(); 
} 

Daha sonra php dosyasının sonuna ekleyin aşağıdadır AJAX (XMLHttpRequest)

ajax = new XMLHttpRequest(); 
ajax.open("GET", "/folder/yourFile.php", true); 
ajax.onreadystatechange = function(){ 
    if(readyState == 4){ 
     if(ajax.responseText == "{Session_invalid}"){ 
      document.location = "http://your.authenticate.url/" 
     }else{ 
      mydiv.innerHTML = ajax.responceText 
     } 
    } 
} 
ajax.send(); 

Eğer ajax kaldırmak dont dedi ne sadece yapmadığınız bile AJAX herhangi bir dosya içine ekleyebilirsiniz böylece Allso bu kod inşa edilmiştir

içine eğer çek eklemek i bu yerleşik unutmayın php dosyası onun sadece üst ve alt düzenlemeler

Bu user228395 noktası 1

1

, bir XmlHttpRequest yönlendirme çok mantıklı değil. Temelde birkaç seçeneğiniz var.

  1. Sen javascript Eğer (bu durumda, javascript ile yönlendirme) doğrudan gerek anlamak yapar AJAX çağrı dönüş şey olsun.

  2. Kullanıcının kimlik doğrulaması yapıp yapmadığını kontrol etmek için içeriği div'a yüklemeye başlamadan önce bir AJAX çağrısı yaparsınız.

  3. Kullanıcı oturumunun süresinin dolup dolmadığını kontrol etmek için bir değişken/çerez tutuyorsunuz. Her istekten önce, durumun böyle olup olmadığını kontrol edersiniz. Eğer öyleyse, kullanıcının kimliğini doğrula.

İyi şanslar!

+0

Hi maçları olsa etiketleri orada emin olun, hem sayesinde emin değilim, denemek böylece henüz hangi çözüm. Ajax için jquery kullandığımı söylemeyi unuttum, sanırım jQuery formunu kullanarak jQuery postasını alabilir ve "{Session_invalid}" yanıtıyla eşleştirebilirim. – myha