Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

JSON ve Ajax La İlgili Bir Soru ? İndex Üzeri İşlem

Arkadaşlar Şöyle Bir Yapıda Sonuç Almaya Çalıştıgım zaman Komple Sitenin İçeriğini Cevap Olarak Getiriyor.


Ama Sadece url Kısmına login.php Gibi Bir Dosyadan İşlem yapmaya Çalıştıgımda Doğru Sonuça Alıyorum.

Neden İndex Üzerinde İşlem yaptıgım Zaman Sadece Json Olan Bölümü Alamıyorum Komple Site İçeriğini Cevap Olarak Alıyor

Saygılar...


$.ajax({


    type    :'POST',
    url     :"http://localhost/proje/index.php",
    data    :$('#panel_girisi').serialize(),
    dataType :'json',
    success : function(cevap) {
        
     
        alert(cevap);
        $('#LoginError').html(cevap.msg);
        
        
                                  
            
    }        


   })
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • Vedia adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    66 cevap - 21 soru
    Merhaba,

    Her bir işleminiz için ayrı dosylar varsa onu kullanmanız mantıklı olur: login.php, arkadaslistesi.php vb.

    Kendi projelerimde ajax çağrılarını sadece bu çağrılara cevap verecek tek bir dosya üzerinden yapmayı tercih ediyorum: ajax.islemleri.php gibi.

    Bunun için KOD üzerinde yapmanız gereken şey şu:

    Öncelikle, her bir işlemde ne yapacağınızı belirten bir parametre göndermelisiniz:

    ajax.islemleri.php?islem=login

    Çağrılan bu dosyanın içeriği de şöyle olmalı:

    if($_GET["islem"] == "login") {
       // işlemler burada
       // işlemler burada
       return; // Bu kod çok önemli !!!
    }
    if($_GET["islem"] == "liste") {
       // işlemler burada
       // işlemler burada
       return; // Bu kod çok önemli !!!
    }
    


    Görüldüğü gibi her bir parametreye ait işler bittiğinde "return" ile program akışının o noktadan aşağıya devam etmesini önlemeniz gerekiyor.

Cevaplar

  • yunusy adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    9 cevap - 3 soru
    login.php ile işlem yaptığınızda, login.php'nin tamamı gelmiyor mu?
    Eğer gelmiyorsa login.php'de kullandığınız mantığın aynısını index.php'de kullanmanız gerekiyor. Eğer aynısı geliyorsa, ajax sorgusu yapacağınız sayfayı kısımlara ayırmalısınız. Şöyle ki;
    $olay diye bir değişkenimiz olsun ve 'ekle' ve 'sil' değerlerini alabilsin. Bu da login.php sayfası olsun
     
    <?php
    $olay = $_GET['olay'];
    switch($olay)
       case 'ekle':
          //Ekleme işlemi yapılıyor
       break;
       case 'sil':
          //silme işlemi yapılıyor
       break;
    }
    

    Şimdi siz bu sayfaya
    url: 'http://localhost/proje/login.php?olay=ekle'
    gibi bir sorgu ile ulaşmaya çalışırsanız, sadece "//Ekleme işlemi yapılıyor " kısmındaki kodlar çalışır. Büyük ihtimalle, index.php'nin tamamının dönmesinin sebebi bu şekilde kısımlara ayırmamış olmanız
    • jette adlı üyenin fotoğrafı jette
      Evet Kısımlara Ayırmadım
      Ama Şöyle Bir yapı Oldugunu Düşünürsek

      index.php?islem=uye_sorgula

      Burdada Aynı Şekilde İndex.php üzerinden işlem yaptıgımız İçin Komple Html Kodlarını Geri Döndürüyor Ama Login.php Gibi Bir Sayfa Tasarlayıp Sadece Php Kodları Olur Ve Net Sonuçlar Dönerse o zaman Sorun Olmuyor

      Yani Kısacası Sorun benim Php Kodları İle Html Kodlarını Ayırmadan Yazamamdan kaynaklanıyor

      Örnek

      <xhtml>

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <!-- META -->
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <!-- TİTLE -->
      <title><?php echo firma ?></title>

      </head>
      <body>

      <?php require_once 'page/login_class.php'; ?>

      </body>
      </html>

      </xhml>



      login_class.php de İse Ajaxın Yolladıgı Postlar Değerlendirilip Sonuç Döndürüyorum Ama Dönen Sonucu Düzgün Bir Şekilde Alamıyorum Bu Sayfanın Tümü Sonuç Olarak Dönüyor
      12 yıl önce yazılmış
    • yunusy adlı üyenin fotoğrafı yunusy
      index.php
      <?php
      $olay = $_GET['olay'];
      switch($olay)
         case 'ekle':
            //Ekleme işlemi yapılıyor
         break;
         case 'sil':
            //silme işlemi yapılıyor
         break;
         default:
         //Normal index.php sayfandaki bütün kodları bu kısma yaz
         // Parametresiz çağrıldığında, yani http://.../index.php diye yüklendiğinde bu kısım çalışır.
         //Ajax sorgularını ise ?olay=olaylar diye yaparsan istediğin gibi kodları ayırmış olursun en kaba hali ile
      }
      
      12 yıl önce yazılmış
  • buremba adlı üyenin fotoğrafı
    12 yıl önce yazılmış
    7 cevap - 19 soru
    GET işlemini yaptırdığın if komutunun sonuna exit; yazarsan dosyanın devamını okumayı bırakır ve çıktıyı gösterir. if kontrolünü de sayfanın en üstüne koyarsan istediğin sonucu alabilirsin.