2012-12-06 4 views
-2

Je fais quelque chose comme ça, je passe une variable à un script php par la poste avec AJAX. Il est en train d'entrer dans mon php et d'exécuter mon écho, mais il n'imprime rien quand j'imprime le tableau $ _POST.transmettre des informations via AJAX POST

function ajaxFunction(data){ 
var ajaxRequest; // The variable that makes Ajax possible! 

try{ 
    // Opera 8.0+, Firefox, Safari 
    ajaxRequest = new XMLHttpRequest(); 
} catch (e){ 
    // Internet Explorer Browsers 
    try{ 
     ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     try{ 
      ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (e){ 
      // Something went wrong 
      alert("Your browser broke!"); 
      return false; 
     } 
    } 
} 

ajaxRequest.open("POST", "process.php", true); 
ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
ajaxRequest.setRequestHeader("Content-length", data.length); 
ajaxRequest.setRequestHeader("Connection", "close"); 
// Create a function that will receive data sent from the server 
ajaxRequest.onreadystatechange = function(){ 
    if(ajaxRequest.readyState == 4){ 
     //var data = array(); 
     //data = document.forms["order_form3"].getElementsByTagName("input"); 
    } 
} 

ajaxRequest.send(data); 

}

+2

Je ne suis pas bon avec cependant AJAX classique, 'readyState == 4' est pour une fois la demande envoyée, IIRC. Donc, votre ligne 'ajaxRequest.send (data);' ne devrait-elle pas être avant la ligne de réponse? – TheDeadLike

+0

Je ne vois aucune donnée envoyée! – pregmatch

Répondre

1

Je recommande d'utiliser un plugin comme Firebug ou même intégré dans les fonctionnalités de Chrome ou Firefox pour voir ce qui a été envoyé et ce qui a été reçu dans votre demande de poste. La réponse ajax n'est pas imprimée quelque part sur votre écran comme vous le savez peut-être à partir des requêtes POST "normales" à une page php. Il sera retourné dans le cadre de votre objet ajaxRequest et vous pourrez le récupérer à partir de là pour utiliser Javascript pour "l'imprimer".

0

Semble que vous avez besoin d'encoder vos paramètres, en appelant votre fonction soumet vos données, mais elles ne sont pas liées à une variable à l'autre extrémité. Je ne suis pas surpris que PHP jette vos données.

Voir ici: AJAX XMLHttpRequest POST

Questions connexes