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