【问题标题】:Returning results for bootstrap typeahead?返回引导输入的结果?
【发布时间】:2013-03-28 12:41:02
【问题描述】:

我试图在执行 ajax 请求后返回引导输入的结果,但它不起作用但是当我不启动 ajax 请求时它确实起作用。

这不起作用:

$(".typeahead").typeahead({
  source: function(query, process) {
    return $.ajax({
      url: "/typeahead",
      type: "GET",
      data: "action=" + query,
      success: function(result) {
        return result;  // this returns an array checked with console
      }
    });
  }
});

没有 ajax 也可以工作:

  $(".typeahead").typeahead({
      source: function(query, process) {
          return ["option1", "option2", "option3"]
      }
    });

【问题讨论】:

  • 您确定它完全访问了您的 ajax URL 吗?如果是这样,请验证查询在发送和接收时是否符合您的预期。
  • @user1477388 是的,我确定,因为我已经用 js 控制台检查了它:)
  • 您确定您的“成功”事件正在触发吗?将console.log('success'); 添加到您的“成功”事件函数中并运行脚本进行检查。
  • @user1477388 是的,它的工作我通过在成功函数中安慰结果来检查它:)
  • 查看这个问题的公认答案:stackoverflow.com/questions/9232748/…

标签: javascript jquery ajax twitter-bootstrap


【解决方案1】:

你应该返回 process(result) 而不是只返回结果。

$(".typeahead").typeahead({
  source: function(query, process) {
    return $.ajax({
      url: "/typeahead",
      type: "GET",
      data: "action=" + query,
      success: function(result) {
        return process(result);  // this returns an array checked with console
      }
    });
  }
});

【讨论】:

    【解决方案2】:

    在一个函数中设置 ajax 调用..

    function typeahead()
        {
        $.ajax({
              url: "/typeahead",
              type: "GET",
              data: "action=" + query,
              success: function(result) {
                return result;  // this returns an array checked with console
              }
            });
        }
    

    在初始化之后你把代码写成这样

    $(".typeahead").typeahead({
          source: function(query, process) {
             var data=typeahead(query);
             process(data);
    
          }
        });
    

    【讨论】:

      猜你喜欢
      • 2013-08-06
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多