Ajax post reponse code html

Utilisateur anonyme -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour à tous,

Je dois envoyer des données de Javascript à PHP, j'utilise donc la methode POST avec l'ajax (en jquery) et je demande une alert des données envoyées quand l'échange est fini.

Mais j'ai 2 soucis : 

Le 1er est que l'alert me renvoie tout le code html de mon api alors que je veux juste les données envoyées.

Le 2eme est que l'api.php n'applique pas le code demandé quand elle reçoit un post des données.

Exemple de mon code javascript:

document.getElementById('button').addEventListener('click', send)

function send(){

    $.ajax({

        type: "POST",

        url: 'api.php',

        datatype: 'json',

        data: {"prenom" : "Prenom1",

                "age": '19'},

        success: function(data){

            alert(data) ;

        },

        });

}

Exemple de mon code api.php : 

<button id='button'>Club</button>

<?php

    if(isset($_POST['prenom'])){

echo 'Hello';

}

?>

Merci d'avance pour votre aide.


Windows / Edge 112.0.1722.64

A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

Bonjour,

Déjà, merci d'utiliser l'icone prévue sur le forum pour poster du code..

Ensuite,  ton API ne doit pas contenir de code html ( tel que ton bouton... ) et vu que tu lui demandes d'utiliser le format JSON, tu dois retourner les résultats au format JSON
 

par exemple

<?php


$result = [];

$prenom = isset($_POST['prenom']) ? $_POST['prenom'] : null;

if($prenom){
  $result['success'] = "Hello " . $prenom;
}

echo  json_encode($result):
exit;

et côté JS, il faudra changer ton alert sous la forme

    alert(data.success) ;

0