2010-11-18 18 views
0

cakephp ve pippoacl eklentisini kullanıyorum ve yeni bir rol ekleyemiyorum.

<?php echo $ajax->submit(
     'submit', 
     array(
      'url' => array('controller' => 'roles', 'action' => 'add'), 
      'before' => 'beforeSubmitAdd();', 
      'complete' => 'completeSubmitAdd(request);' 
     ) 
    ); 
?> 

add.ctp ilk kez dolduğunda, ben bir şey print_r edebilirsiniz: Ne eklentisinde değiştirmek Bence (add.ctp) böyle teslim, ajax kullanarak bir şey yapmaktır kontrol eden, denetleyici. Ama yukarıda belirtilen ajax sadece javascript'i 'önce' ve 'tamamlandı' üzerinde yürütür. Firebug'ı kontrol ediyorum, cevap boş. Benim denetleyicisinde

:

function add() {   
    print_r("start"); 
    if (!empty($this->data)) { 
     print_r("add new role");   

     // save new role 
    }  
} 

Ben kullanıcı için teslim ajax kullanmak ve yeni kullanıcı ekleme herhangi bir sorun yok. Kontrol etmem gereken bir şey var mı? Bir hafta boyunca kullanıcı ve rol kodunu karşılaştırdım ve bir arkadaşımın da koduma bakmasını istedim, ama yine de bunun nedenini bulamıyoruz.

Şimdiden teşekkürler! : D

cevap

0

Ajax yardımcılarına çok aşina değilim, ama bunu uzun zamandır kullanmıyorum ki, ne yaptığımı hatırlayamıyorum :).

Soruna dön. Ajax adresinde istenen URL'nin doğru olup olmadığını kontrol ettiniz mi? Bu basit bir şekilde çalışmalıdır, ancak URL'nin geçersiz olması mümkündür.

Güvenlik bileşeni kullanıyor musunuz (sadece var $ bileşenleri değişkenine ekleyerek)? Bu, özellikle formdaki alanları bir şekilde değiştirdiğinizde boş ekrana neden olabilir. Çıkarmaya çalışın ve olmadan çalışıp çalışmadığını görün.

Son olarak jQuery ile nasıl yapacağımı söyleyebilirim.

$(document).ready(function(){ 
    $('form').live('submit', function(){ //handles also dynamically loaded forms 
     var form = $(this).addClass('loading'); //indicate somehow that the form has been submitted 
     $('#content').load($(this).attr('action'), $(this).serialize(), function(){ 
      form.removeClass('loading'); 
     }); 
    }) 
}); 

Bu sistemin formlarda bütün başvurularını idare edecek, ancak elbette değiştirebilirsiniz:

ardından kod işini yapmalıdır.

+0

Merhaba, Nik! URL zaten doğru. Rol denetleyicisinde ekleme eylemine gitmeli ve yeni rolü kaydettikten sonra başka bir sayfa yüklemelidir. Olan şey, hiçbir şey kaydetmeden başka bir sayfaya gitmesidir. Print_r dosyasını denedim ve eklentiyi uygulamadığını öğrendim. Cevabınız için teşekkürler! – Threl

İlgili konular