客户端搜索文本更改 - 何时发送请求?

时间:2018-03-26 11:00:07

标签: javascript typescript request

我有一个实体的搜索引擎,它有很多过滤器。 过滤器更改时,我需要更新搜索结果。 从下拉列表中选择一些过滤器,其他过滤器是文本输入。 当用户键入时频繁发生更改时,实施搜索变更的正确方法是什么?

以下是一些可能性:

  • 当输入失去焦点时。问题:用户可能会输入一些文字并等待搜索工作,但它不会。
  • 在每次击键时。问题是我会根据请求充斥服务器。
  • 在输入中最后一次更改后等待x毫秒,然后发送请求。问题是搜索可能对用户来说变慢。

    最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以为输入执行keydown或keyup。如果它是下拉菜单,您可以使用onchange。

就个人而言,我建议您添加最低字符数限制,这样您就不会扼杀资源。

例如

$http.get('/SampleProgram/get_all_users').success(function(rsList){
       $scope.users =  rsList;
       $scope.$broadcast('I got all the users');
    });

您可以了解事件监听器here