Hi there,
Der Haken dabei ist, dass jetzt bei jeder Eingabe, egal wie schnell sie erfolgt, der request geschickt wird, vollkommen wurst ob der Nutzer fertig ist mit eingeben oder nicht.
Du hast (von der Verwendung von jquery einmal abgesehen) einen gewaltigen Designfehler in Deiner Anwendung. Wenn Du oder Dein Server mit wie Du schriebst einem "riesigen Berg Daten" operiert, dann macht ein keyup als Trigger nicht wirklich viel Sinn. Was spricht gegen einen Absende-Button?
Ist es möglich das absenden des requests davon abhängig zu machen ob das letzte keyup länger als z.B. 1 sekunden zurückliegt?
Theoretisch ja, mit Handarbeit. Aber dann läufst Du wieder in des Teufels Küche, weil ja mit jedem keyup eine eigene Stoppuhr gestartet werden müsste, die ihrerseits schaut, ob innerhalb einer Sekunde nicht schon wieder eine neue Stoppuhr gestartet wurde...
Gegen einen Absendebutton ist grundsätzlich nichts einzuwenden, allerdings lösen alle anspruchsvolleren Seiten diese Sache inzwischen ohne einen solchen. Ich habe einen solchen Button auch, aber nur für den Fall dass kein js läuft.
Zum Thema Vorschläge bringen (das hat der andere Antworter angemerkt): Natürlich kann ich auch Vorschläge bringen, aber das ist genau das selbe wie das was ich tue, nur das ich das ganze in's autocomplete einbinde.
Das will ich aber in diesem Fall nicht, die Ergebnisse sollen im Google-Stil unter der Suchmaske erscheinen.
Und machen google und youtube dann auch einen "gewaltigen Designfehler"? Die triggern ja allem Anschein nach auch per keyup, youtube nutzt ein autocomplete, google füttert ein div mit den suchergebnissen.