Ajax post reponse code html

Fermé
Utilisateur anonyme - 30 avril 2023 à 10:34
jordane45 Messages postés 38299 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 novembre 2024 - 30 avril 2023 à 10:54

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 38299 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 novembre 2024 4 704
30 avril 2023 à 10:54

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