Maison >développement back-end >tutoriel php >Pourquoi ma publication AJAX échoue-t-elle lors du chargement d'un formulaire avec $.load() de jQuery ?

Pourquoi ma publication AJAX échoue-t-elle lors du chargement d'un formulaire avec $.load() de jQuery ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-09 19:07:19204parcourir

Why Does My AJAX Post Fail When Loading a Form with jQuery's $.load()?

Échec de la publication Ajax dans un formulaire chargé

Dans un scénario où un clic sur un bouton déclenche le chargement d'un formulaire externe à l'aide de $.load( ), un problème survient lorsque le formulaire tente de publier des données. Au lieu d'être redirigée vers le fichier PHP prévu, la page se recharge d'elle-même.

Présentation d'AJAX

Avant de se plonger dans la solution, il est crucial de comprendre le concept d'AJAX ( JavaScript et XML asynchrones). AJAX permet aux sites Web d'échanger des données avec un serveur sans actualiser la page entière.

Le problème et la solution

Le problème ici vient d'un manque de compréhension du fonctionnement d'AJAX . Le bouton déclenche le chargement d'un formulaire externe à l'aide de $.load(), mais cela n'établit pas de requête AJAX. Pour publier des données via AJAX, le formulaire doit être soumis à l'aide de la fonction $.ajax().

Exemple de code

Considérez le code révisé suivant :

$('#Sel').change(function() {
    var opt = $(this).val();
    var someelse = 'Hello';
    var more_stuff = 'Goodbye';
    $.ajax({
        type: "POST",
        url: "receiving_file.php",
        data: 'selected_opt=' + opt + '&something_else=' +someelse+'&more_stuff='+more_stuff,
        success:function(data){
            alert('This was sent back: ' + data);
        }
    });
});

Dans ce code révisé, les données du formulaire sont publiées à l'aide de $.ajax(). Le script enverra la valeur sélectionnée et les paramètres supplémentaires au "receive_file.php" et affichera les données renvoyées dans une boîte d'alerte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn