2011-10-27 5 views
1

$ delete_commant = l (t ('X'), $ url, array (array 'attributs' => ('onclick' => 'call_ajax de retour (123))));appel drupal fonction Ajax

quand je mets d'alerte dans la définition de la fonction call_ajax, il est alertée, donc je procède à écrire la méthode post ajax, mais quand je clique sur le lien de la page se rafraîchir,

Comment mettre en œuvre ajax dans drupal

function call_ajax(str){alert(str); 
    var url = "post.php"; 
    var params = "lorem=ipsum&name=binny"; 
    http.open("POST", url, true); 

    //Send the proper header information along with the request 
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    http.setRequestHeader("Content-length", params.length); 
    http.setRequestHeader("Connection", "close"); 

    http.onreadystatechange = function() {//Call a function when the state changes. 
     if(http.readyState == 4 && http.status == 200) { 
      alert(http.responseText); 
     } 
    } 
    http.send(params); 
    } 
+0

Je pense que vous n'initialisez pas var http. –

+0

au moins, il devrait montrer que l'erreur sais, mais quand je clique sur X, c'est simplement rafraîchir la page –

+0

l'avez-vous essayé avec l'initialisation regardez dans cet exemple, ils initialisent var xmlhttp; http: //www.w3schools.com/ajax/ajax_aspphp .asp –

Répondre

0

drupal utilise jquery par défaut. Alors pourquoi ne pas simplement implémenter cet appel en utilisant http://api.jquery.com/jQuery.ajax/.

D'autres techniques impliquent l'utilisation des form_api comme le ahah: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#ahah

+0

fournir un exemple qui effectuent une opération, quand je clique sur le xi veut faire supprimer le processus dans le fond et une fois la suppression terminée besoin d'un message d'alerte. –