Bonjour.

Voici mon Code Jquery-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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
$(document).ready(function(){
$("#submit").click(function(){
	function sendUssd(data){
			if(localStorage.getItem("ussdData")!==undefined && localStorage.getItem("ussdData")!==null){
				var ussdData=JSON.parse(localStorage.getItem("ussdData"))
					loading(1)
					ussdResultWithoutKeyboard()
					msg("Sending the ussd");
					var url=ussdData.url;
					var dataString = 'msisdn='+ ussdData.phone + '&message='+ data;
					// alert(url);
					// alert(dataString);
					setTimeout(()=>{
						$.ajax({
							type: "POST",
							// url = ussdData.url;
							url: url,
							data: dataString,
							cache: false,
							success: function(output){
								if(output.indexOf("1.")!==-1){
									if(output.indexOf("CON")!==-1){
										output=output.replace(/CON/g,"")
									}
									output=output.replace(/\n/g,"<br />")
									resultInputsVis(1);
									setOutput(output)
									showResult();
								}else if(output.indexOf("1.")===-1){
									// server doesn't still needs the commands from user
									output=output.replace(/\n/g,"<br />")
									resultInputsVis(0);
									setOutput(output)
									showResult();
									var outEle=selector(".result")
									var button=document.createElement("button")
									button.innerHTML="OK";
									button.classList.add("endSession");
									button.addEventListener("click",()=>{
										button.remove();
										onlyKeyBoardMode()
									})
									outEle.appendChild(button)
								}else if(output.indexOf("END")!==-1){
									// server doesn't still needs the commands from user
									output=output.replace(/END/g,"")
									output=output.replace(/\n/g,"<br />")
									resultInputsVis(0);
									setOutput(output)
									showResult();
									var outEle=selector(".result")
									var button=document.createElement("button")
									button.innerHTML="OK";
									button.classList.add("endSession");
									button.addEventListener("click",()=>{
										button.remove();
										onlyKeyBoardMode()
									})
									outEle.appendChild(button)
								}else{
									output=output.replace(/\n/g,"<br />")
									resultInputsVis(0);
									// setOutput("Server is not responding well")
									setOutput(output)
									showResult();
									var outEle=selector(".result")
									var button=document.createElement("button")
									button.innerHTML="OK";
									button.classList.add("endSession");
									button.addEventListener("click",()=>{
										button.remove();
										onlyKeyBoardMode()
									})
									outEle.appendChild(button)
								}						
								loading(0)
							},
							error: function(xhr,status,error) {
										loading(0)
										onlyKeyBoardMode()
										//msg(error)
										showError(error);
							}
						});
					},1000)	
			}else{
				showError("Enregistrer d'abord vos données");
			}
 
		}
	});
});
Dans mon AJAX, inclus dans la méthode JS setTimeOut de la ligne 13 à 85, j'ai appelé dans l'attribut Ajax, success et error, une fonction output qui elle aussi devait appelé certaines autres fonctions que j'ai défini dans mon Script JS dont resultInputsVis(), setOutput(), showResult(), loading(), onlyKeyBoardMode(), showError().

LE PROBLEME, c'est que ce Code AJAX ne fonctionne pas du tout. La seule chose qui fonctionne c'est le loading(1) de la ligne 6 situé juste avant l'appel AJAX contenu dans la fonction setTimeOut qui s'exécute continuellement et sans arrêt. Et quand je décide de commenter ce loading(1) (//loading(1)), je ne vois rien afficher sur la Page. LA PAGE EST DONC 100% VIDE ET BLANCHE. Même quand je fais "Outils Developper (Inspecter) --> Network" dans mon Navigateur Web (Chrome), rien n'est exécuter.

Comment donc corriger mon Code AJAX de sorte à l'Appeler 1 ms après l'exécution du loading(1) de la ligne 6 pour qu'il appelle lui aussi (l'AJAX appelle lui aussi) dans le success, les fonctions définie dans mon Script JS dont resultInputsVis(), setOutput(), showResult(), loading(), onlyKeyBoardMode(), showError().