On m'a récemment suggéré d'essayer des pulsations cardiaques pour résoudre un problème dans mon projet. Parce que je suis nouveau à javascript, j'essayais de mettre en œuvre la deuxième réponse à this question avant de passer, mais même cela ne semble pas fonctionner, et je ne peux pas comprendre pourquoi. Ce sont les trois fichiers impliqués:L'implémentation de pulsation simple ne fonctionne pas dans MVC
HTML (Heart.cshtml)
<head>
<script type="text/javascript" src="~/Scripts/heartBeat.js"></script>
</head>
<body>
<script type="text/javascript">
LaunchHeartBeat('@Url.Action("KeepSessionAlive", "Auxiliary")');
</script>
</body>
Javascript (heartBeat.js)
var isSuccess = false;
function LaunchHeartBeat(actionUrl) {
setInterval(function() {
$.ajax({
type: "POST",
url: actionUrl,
success: function() { isSuccess = true; }
});
}, 2000);
}
Controller (AuxiliaryController.cs)
[HttpPost]
public JsonResult KeepSessionAlive()
{
System.Diagnostics.Debug.WriteLine("This is a heart beat");
return new JsonResult { Data = "success" };
}
Désolé pour la (je crois) question simple. J'aurais demandé dans un commentaire, mais je n'ai pas encore assez de réputation, donc je ne savais pas comment faire autrement. Edit: J'ai fait quelques modifications dans mon code pour apporter quelques corrections/simplifications comme suggéré par la première réponse. Cela n'a pas résolu mon problème mais le code est plus sympa maintenant. J'ai également supprimé certaines lignes inutiles du fichier HTML (qui n'affectent pas la question, mais maintenant le code est plus clair et plus facile à comprendre d'un coup d'œil).
Comme toujours, si quelqu'un a des raisons de downvote ou autrement désapprouver, j'apprécierais quelques commentaires. – Pablo