JQUERY AJAX YÜK İşlev Hata

3 Cevap php

Ben jquery ajax yük fonksiyonunu kullanarak first.php bir second.php dosya yüklenir

$(".divclass").click(function(){ $("#divid").load('second.php', { id : $(this).attr('id') }); // alert("view Clicked"); });

second.php first.php dosya başarısında ikinci php içerik yüklendi.

but second.php contains some jquery function... in second.php

$(document).ready(function(){ alert("second document jquery"); });

this not working... and Back this back javascript also not working when load in first.php but both working when directly calling second.php

ne yapmak

3 Cevap

Sizin ikinci dosyası - hangi sanırım HTML değil, tam bir belgenin bir parçası olduğunu - Sadece DOM değiştirerek çünkü, bir "hazır" olay almak için gitmiyor. Eğer çalıştırmak için bazı gömülü Javascript gerekiyorsa, sadece fragmanın sonunda bir etiketi doğrudan koydu:

<div id='stuff'>
  <!-- ... --->
</div>
<script>
  alert("Hi I have just been loaded");
</script>

jQuery emin fragmanı DOM eklenir JavaScript blok çalışır olduğunu yapacaktır.

Sadece başarı işlevini kullanmayın neden second.php içinde javascript, böyle çalışmaz?

$(".divclass").click(function(){
  $('#divid').load('second.php', { id : $(this).attr('id') }, function() {
    alert('second document jquery');
  });
});

Kullan $.get yerine load:

$(".divclass").click(function(){
  var elmt_id = $(this).attr('id');
  $.get('second.php',
        { id: elmt_id, nbRandom: Math.random() },
        function(data){
          $("#divid").html(data);
        });
});

Neden? load yüklü sayfasından herhangi bir javascript dışarı şerit olacak çünkü. $.get second.php, herhangi bir js kod orada idam edilecek tüm içerik koyacağız.

Ben bütün projede yukarıdaki gibi bir kod kullanabilirsiniz. JQuery DOM hazır blok kodu var yüklenir sayfası ve tüm çalıştı.

Yukarıda benim kodda, ben ikinci parametresini ekleyin. Amaç sadece IE önbelleğe önlemektir. second.php tarafından kullanılan olmayacak bir ad seçin.