Comment obtenir des "données" de JQuery Ajax demandes

C'est le code que j'ai sur index.html:

<html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script> $.ajax({ type: "POST", url: 'test.php', data: "check", success: function(data){ alert(data); } }); </script> </head> <body> <div></div> </body> </html> 

Comment puis-je programmer test.php pour obtenir les "données" envoyées dans l'API AJAX?

Vous posez ici une question très fondamentale. Vous devriez d'abord passer en revue certains didacticiels Ajax. Juste pour vous aider un peu (en supposant que vous êtes au courant des méthodes GET et POST d'envoi de données), «données» dans les données: «vérifier» est différent de «données» en fonction (les données) sont différents. Pour plus de clarté, vous devez les nommer différents comme ici:

 $.ajax({ type: "POST", url: 'test.php', data: "check", success: function(response){ alert(response); } }); 

Cela indique clairement que l'une des données que vous envoyez au fichier test.php dans les paramètres POST et autres est la réponse que vous obtenez à partir du fichier test.php une fois qu'elle est exécutée. En fait, le paramètre de données que vous POST à ​​test.php doit être un hash comme ici (je suppose que la clé est "type" ici:

 $.ajax({ type: "POST", url: 'test.php', data: {"type":"check"}, success: function(response){ alert(response); } }); 

Il se peut évidemment d'avoir plus de paires de clés-val dans les données.

Donc, en supposant que votre fichier test.php soit quelque chose comme ceci:

 if(isset($_POST['type'])){ //Do something echo "The type you posted is ".$_POST['type']; } 

Dans ce cas, votre alerte devrait se lire: "Le type que vous avez posté est la vérification". Cela changera en fonction de la valeur que vous envoyez pour la clé 'type' dans l'appel AJAX.

Vous pouvez essayer comme ça

  $.ajax({ type: "POST", url: 'test.php', data: {"data":"check"}, success: function(data){ alert(data);//This will alert Success which is sent as the response to the ajax from the server } }); 

Et dans test.php

 if(isset($_POST['data']) && $_POST['data'] == 'check'){ //$_POST['data'] contain the value that you sent via ajax //Do something echo 'Success'; } 

Vous pouvez vérifier cela pour plus d'informations.

Si vous souhaitez traiter plus de données avec jquery ajax. Je préfère le type de données json.

Il suffit d'utiliser comme ça.

 $.ajax({ type: "POST", url: 'test.php', dataType: 'json', data: {"data":"check"}, success: function(data){ alert(data.value1); alert(data.value2); } }); 

Dans votre code PHP

 if(isset($_POST['data']) && $_POST['data'] == 'check'){ //Data 1 $data['value1'] = 'Data 1 Got Successfully'; //Data 2 $data['value2'] = 'Data 2 Got Successfully'; $resonse = json_encode($data); echo $response; } 

Votre HTML serait

 <html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script> $.ajax({ type: "POST", url: 'test.php', data: {"myvar":"check",}, success: function(data){ alert(data); } }); </script> </head> <body> <div></div> </body> </html> 

Notez que les données sont un tableau, donc vous devrez passer une variable et sa valeur dans les données. Vous pouvez passer plusieurs variables dans les données, en les séparant par des virgules.

Et pour choisir les données envoyées par votre ajax, dans test.php:

 <?php if(isset($_POST['myvar'])) { $myVariable = $_POST['myvar']; echo $myVariable; //This would output the string passed in ajax, check } ?> 

$ _POST dépend du type utilisé dans l'appel AJAX. Si le type est GET, dans php, ce serait $ _GET. Une chose simple à la place serait $ _REQUEST, indépendamment du fait que l'appel AJAX soit de type GET ou POST.

 $.ajax({//create an ajax request to load_page.php type: "POST", url: "test.php", data:{"data":"check"}, success: function(data) { if (data) { alert(data); } else { alert('Successfully not posted.'); } } }); 

Dans test.php

 <?php if(isset($_POST['data'])){ echo 'successful'; } ?> 

La sortie du fichier PHP sera envoyée à votre fonction AJAX succes.