Hallo hmm,
Für jede Buchstabeneingabe eine JsonRequest ans Backend plus eine Datzugehörige Sql Abfrage, alternativ kennt der Client alle vorhandenen Nutzernamen. Gehts besser?
Setze bei feuern des input
-Events einen Timeout (etwa auf 500ms), der das Autocomplete anfordert. Besteht bereits ein Timeout, lösche es vorher. Etwa so:
(function(element) {
var tm = null;
var autocomplete = function() {
// …
};
element.addEventListener('input', function() {
if(tm) {
window.clearTimeout(tm);
}
tm = window.setTimeout(autocomplete, 500);
});
})(the_element);
So kommt kein Request zum Server, solange der User tipp; wenn er aufhört, wird der Request gestellt und die Autovervollständigung angeworfen. Man „wartet” sozusagen auf den User.
LG,
CK