J'utilise Jquery pour appeler Ajax. Le serveur renvoie l'objet Json avec la valeur "true ou false" comme ceci:
return Json(new { success = false, JsonRequestBehavior.AllowGet });
Est-il possible d'actualiser la page après 5 secondes si le serveur renvoie true?
Dans votre rappel de succès ajax, procédez comme suit:
success: function(data){
if(data.success == true){ // if true (1)
setTimeout(function(){// wait for 5 secs(2)
location.reload(); // then reload the page.(3)
}, 5000);
}
}
Comme vous souhaitez recharger la page au bout de 5 secondes, vous devez disposer d'un délai d'attente comme suggéré dans la réponse.
location.reload();
Vous pouvez utiliser la fonction reload
dans votre condition if
pour réussir et la page sera rechargée une fois la condition réussie.
if(success == true)
{
//For wait 5 seconds
setTimeout(function()
{
location.reload(); //Refresh page
}, 5000);
}
var val = $.parseJSON(data);
if(val.success == true)
{
setTimeout(function(){ location.reload(); }, 5000);
}
$.ajax("youurl", function(data){
if (data.success == true)
setTimeout(function(){window.location = window.location}, 5000);
})
)