J'ai une forme comme:Arrêt discret précédent appel ajax
@using (Ajax.BeginForm("List", null, new AjaxOptions() { UpdateTargetId = "results" }, new { id = "myform" }))
{
<input id="search" type="text" value="" />
}
Je déclare javascript envoyer soumettre lorsque l'utilisateur appuie sur une touche dans ma boîte de recherche:
<script type="text/javascript">
$("#search").on("keyup", function()
{
$("#myform").submit();
});
</script>
Mais lorsque les utilisateurs recherchent rapidement, le navigateur lance une requête ajax multiple et attend la fin de chaque appel un par un. Comment arrêter l'appel ajax précédent avant d'en envoyer un autre sans supprimer ajax discret?
si vous définissez vos critères d'évaluation .NET comme tâches async, vous peut-être n'aura pas ce problème. Également peut-être ne pas déclencher le soumettre jusqu'à ce que l'utilisateur a tapé au moins 3 caractères. Envisagez enfin d'utiliser un plugin autocomplete plutôt qu'un formulaire de soumission, ce qui pourrait fonctionner un peu plus bien. – ADyson
Merci pour la recommandation, mais il est encore des tâches asynchrones, et je ne peux pas changer le champ en saisie semi-automatique. C'est une interface existante. – GGO