Voici mon Code Jquery-Ajax:
Code : Tout sélectionner
$(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");
}
}
});
});
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().