IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Modification syntaxe requette Ajax .post qui ne fonctionne plus avec jQuery 3.3.1


Sujet :

AJAX

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Points : 52
    Points
    52
    Par défaut Modification syntaxe requette Ajax .post qui ne fonctionne plus avec jQuery 3.3.1
    Bonjour,

    Je souhaite transformer un site non responsive en responsive avec bootstrap 4.

    Je suis développeur php, mais nul en Ajax et pas le temps de me former pour le moment.

    Une requête fonctionnelle sur le site avec jquery 1.5.1 ne fonctionne plus avec jquery 3.3.1 (requête écrite par quelqu'un d'autre).

    Voilà comment elle est écrite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    function rechercher(recherche){
     
    				clearTimeout(timer);
    				timer=setTimeout(function validate(){if (recherche.length>1){
     
    					$.post("<?php echo base_url();?>lexique/index", { recherche_mot: recherche },
    							function(data) {
    								$("#recherche_mot").removeClass("ajax_form_loader");
    								$("#liste_mots").html(data).fadeIn('fast');
    								$("#tabMots").trigger("update");
    							});
    						 }
    						 else {
    							 $.post("<?php echo base_url();?>lexique/index", { recherche_mot: "0" },
    								function(data) {
    								$("#recherche_mot").removeClass("ajax_form_loader");
    								$("#liste_mots").html(data).fadeIn('fast');
    								$("#tabMots").trigger("update");
    								});
    					 		}},250);
    			}
    Le retour est un tableau en POST.

    Lorsque la requête se lance, j'obtiens le message :

    TypeError: $.post is not a function[En savoir plus] lexique.demo:194:6

    validate http://lexique.demo/:194
    Bon, j'ai avancé, et j'ai réussi à réécrire cette fonction en utilisant $.ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    function rechercher(recherche){ // début fontion
     
    			clearTimeout(timer);
    			timer=setTimeout(function validate(){if (recherche.length>1){ // Niveau 2
     
    					$.ajax({
    						type: 'POST',
    						url: "<?php echo base_url();?>lexique/index",
    						data: { recherche_mot: recherche },
    						timeout: 250,
    						success: function(data){
    							$("#recherche_mot").removeClass("ajax_form_loader");
    							$("#liste_mots").html(data).fadeIn('fast');
    							$("#tabMots").trigger("update");
    						},
    						error: function(){
    							$("#liste_mots").html('Cette requête AJAX n\'a pas abouti');
    						},
    					});
    				}	
    					else {
     
    						$.ajax({
    							type: 'POST',
    							url: "<?php echo base_url();?>lexique/index",
    							data: { recherche_mot: "0" },
    							timeout: 250,
    							success: function(data){
    								$("#recherche_mot").removeClass("ajax_form_loader");
    								$("#liste_mots").html(data).fadeIn('fast');
    								$("#tabMots").trigger("update");
    							},
    							error: function(){
    								$("#liste_mots").html('Cette requête AJAX n\'a pas abouti');
    							}
    						});
    					}
     
    			}); // Niveau 2
    		} // fin fontion
    La requête fonctionne toujours avec jquey 1.5, mais toujours pas avec 3.3, j'obtiens l'erreur :

    TypeError: $.ajax is not a function[En savoir plus]


    Si quelqu'un pouvait m'aider cela serai sympa, j'ai essayé, mais la syntaxe Ajax, je ne maitrise pas du tout et rien de ne marche, et malheureusement, je suis sur du dev en php et impossible de me former en Ajax pour le moment.

    Merci d'avance

    Patrice

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Citation Envoyé par gestgm Voir le message
    TypeError: $.post is not a function[En savoir plus] lexique.demo:194:6
    TypeError: $.ajax is not a function[En savoir plus]
    La variable $ est réutilisée par un autre script dans la page, et jQuery est écrasé. Utilises-tu d’autres bibliothèques ou frameworks ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Points : 52
    Points
    52
    Par défaut Non, pas d'autres bibliothèques
    Bonjour,

    Non, je n'utilise pas d'autres bibliothèques.

    Voici un lien vers un site de test http://test.lexique-arabe.org/

    Le graphisme n'est pas travaillé du tout, mais la fonction $.post fonctionne sur http://lexique-arabe.org/

    J'ai juste modifié la version de jQuery et chargé boostrap.

    Cordialement

    Patrice

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    visiblement il te manque simplement le chargement de la lib. jQuery.

    Dans ton 2éme lien il y a bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="http://www.lexique-arabe.org/js/jquery-1.5.1.min.js"></script>
    pas dans ton 1er.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Points : 52
    Points
    52
    Par défaut Sur ce site, la requete fonctionne
    Bonjour,

    Vous aviez raison, en fait , j'ai récupéré à l’arrache un template bootstrap, et je n'avais pas vu que jquery n'était pas chargé, MERCI !

    Patrice

  6. #6
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jquery-3.3.1.slim.min.js
    Tu as inclus la version slim de jQuery, elle n’a pas les fonctionnalités ajax.
    Citation Envoyé par jquery.com
    You can also use the slim build, which excludes the ajax and effects modules
    (https://jquery.com/download/)
    Pour avoir ajax, prends une version pas slim, production ou développement.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 62
    Points : 52
    Points
    52
    Par défaut
    Ok, merci pour l'aide et les conseils, il va falloir que je trouve du temps pour me former à JS

    Cordialement

    Patrice

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] fonction qui ne fonctionne pas
    Par caro71ol dans le forum AJAX
    Réponses: 19
    Dernier message: 07/02/2011, 08h34
  2. [AJAX] xmlHTTPRequest qui ne fonctionne pas toujours.
    Par zeclubbeur dans le forum AJAX
    Réponses: 4
    Dernier message: 19/09/2009, 16h58
  3. [AJAX] xmlhttprequest.send qui ne fonctionne pas avec une variable !
    Par hoaxpunk dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/03/2009, 18h17
  4. Réponses: 2
    Dernier message: 20/08/2008, 23h09
  5. (UNION) Requete qui ne fonctionne plus avec mysql4
    Par kreatik dans le forum Requêtes
    Réponses: 0
    Dernier message: 13/11/2007, 13h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo