• 01-12-2010, 18:27:59
    #1
    Merhaba arkadaşlar kolay gelsin. Javascript'ten pek çakmam da. Bi yerde takıldım. Bi el atarsanız çok makbule geçer.

    Normal bildiğimiz AJAX var ya GET le arkaplanda sayfa açtırtan. tamam. bi de normal bildiğimiz window.location tırnak içine yazdığımız adrese giden. ikisi de ayrı ayrı normal olması gerektiği gibi çalışıyo.

    Ama aynı sayfada kullanınca birlikte çalışmıyo. sadece window.location çalışıyo.

    Ben istiyorum ki veritabani.php de kaydımı yaptırtıyım arkaplanda. sonra yönlenmesini istediğim yere gitsin.

    Bunu yazınca abcd.com'a gidiyo veritabani.php ye hiç girmiyo | yönlendirmeyi php ile yapıyım dedim birden fazla header hatası veriyo;
    <html>
    <head>
    	<script type="text/javascript">
    		function GetXmlHttpObject()
    		{
    			if (window.XMLHttpRequest)
    			{
    				return new XMLHttpRequest();
    			}
    			else if (window.ActiveXObject)
    			{
    				return new ActiveXObject("Microsoft.XMLHTTP");
    			}
    			else
    			{
    				return null;
    			}
    		}
    
    		var xmlhttp;
    		var url = "veritabani.php?yorumekle&asdf=qwer";
    		
    		xmlhttp=GetXmlHttpObject();
    		xmlhttp.open("GET",url,true);
    		xmlhttp.send(null);
    
    		window.location = "http://abcd.com/";
    	</script>
    </head>
    <body>
    </body>
    </html>
    /teşekkürler/
  • 01-12-2010, 22:45:30
    #2
    Arkadaşlar şöyle bişey yaptım;
    window.location = "http://abcd.com/";
    Bu satırı sildim. Yerine bunu ekledim;
    			xmlhttp.onreadystatechange = function() {
    				if (xmlhttp.readyState == 4)
    				{
    					window.location = "http://abcd.com/";
    				}
    			}
    İstediğim oldu. Önce veritabanına kayıt ediyo. Kayıt oldu cevabı alırsa yönlendirmeyi gerçekleştiriyo.

    Ben diyorumki bunu sunucudan cevap geldiğinde değil de işleme başladığında yapsın.

    Yani şu AJAX durum tablosunda;
    Alıntı
    Durum Açıklama
    0 istek başlatılmadı
    1 istek ayarlandı
    2 istek gönderildi
    3 istek işlemde
    4 istek tamamlandı
    Şuan 4 ü kullanıyorum ve çalışıyor. Ben 2 deyken yönlendirmeyi yapsın gelcek cevap benim için önemli değil diyorum. Ama ne 2 yi ne de 3 ü çalıştıramadım. Sadece 4 yazınca oluyo. Ben mi bi hata yaptım anlamadım ?