Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入未显示结果_Javascript_Typeahead.js - Fatal编程技术网

Javascript 输入未显示结果

Javascript 输入未显示结果,javascript,typeahead.js,Javascript,Typeahead.js,我想使用typeahead远程检索邮政编码,它必须是post,而不是get。该调用在控制台中返回以下json: {suggestions: "L-6956 | IM GRUND | KEEN-SUR-DOHEEM"} {suggestions: "L-6956 | OP DER MOUCK | KEEN-SUR-DOHEEM"} 但是,为了选择一个结果,结果不会显示在输入字段下。这是我的密码: $('#txtPostalCode').typeahead( null, { nam

我想使用typeahead远程检索邮政编码,它必须是post,而不是get。该调用在控制台中返回以下json:

{suggestions: "L-6956 | IM GRUND | KEEN-SUR-DOHEEM"}
{suggestions: "L-6956 | OP DER MOUCK | KEEN-SUR-DOHEEM"}
但是,为了选择一个结果,结果不会显示在输入字段下。这是我的密码:

$('#txtPostalCode').typeahead(
  null,
  {
    name: 'txtPostalCode',
    displayKey: 'suggestions',
    minLength: 3,
    source: function (query, syncResults) {
      $.post('/hotbed/sggl/getpipedaddresses', {searchItem: query}, function (data) {
        syncResults($.map(data, function (item) {
          console.log(item.suggestions);
          return item;
        }));
      }, 'json');

    }
  });

根据typeahead API,服务器响应应标记为异步,并且应使用该异步CB获取响应

$('#txtPostalCode').typeahead({
  null
},
{
  name: 'txtPostalCode',
  displayKey: 'suggestions',
  minLength: 3,
  async: true,
  source: function (query, processSync, processAsync) {
    processSync(['This suggestion appears immediately', 'This one too']);
    return $.ajax({
      url: "/hotbed/sggl/getpipedaddresses", 
      type: 'POST',
      data: {searchItem: query},
      dataType: 'json',
      success: function (json) {
        // in this example, json is simply an array of strings
        return processAsync(json);
      }
    });
  }
});
由于这个问题没有公开的悬赏,我不能将其标记为重复,但您可能会在下面的问题中找到更多细节


这很有帮助,但我想补充一点,当您在源函数中使用3个参数时,async:true并不是一种改进。你不需要归还任何东西。介意我编辑吗?我已经编辑了你的答案,但评论者并不欣赏…在它被拒绝之前接受它:(谢谢,现在它像预期的那样工作。但是为了完整性:哪里可以找到typeahead api?Ajax正在为我输入的每一个字符发帖,如何在请求之前插入延迟?下一个问题:一旦选择了选项,我必须调用另一个路由。在哪里执行此操作?你可以使用debouce之类的工具,或者只在2-3个字符后开始检查。)