2013-07-09 28 views
0

我试图让jQuery自动完成工作,但我永远无法获得源回调运行。获取jQuery自动完成以在更改上运行

$(function() { 
    $('#function_name').autocomplete({ 
     source: function(request, response) { 
      $.getJSON('/autocomplete', { 
       search: request 
      }, function(data) { 
       response(data.comp); 
      }); 
     } 
    }); 
}); 

这是我目前拥有的代码,但源代码的回调从不运行。需要发生什么使其运行?每次更新文本框时,如何让它运行?

编辑:我更新了jQuery,它现在使请求正确。但是,现在$.getJSON回调没有被调用。所以它永远不会运行

function(data) { 
    response(data.comp); 
} 

任何原因可能会这样做?

+0

您是否尝试过调试您的代码并查看您是否收到错误或者如果您对服务器的请求失败? –

+0

这里是jquery示例http://jqueryui.com/autocomplete/#remote-jsonp。确保返回的json即data.comp处于预期格式。 –

+0

错误控制台中没有显示任何内容,并且服务器从不向/ autocomplete显示GET请求。我也试着把console.log放在函数中,但是永远也不会运行。因此,出于某种原因,自动完成源回调从未运行。 – miscsubbin

回答

0

原因似乎是,烧瓶(我正在运行我的网站)没有返回响应,当这个Ajax请求时,但如果你只是访问该页面。我真的不知道发生了什么,但我想代码是正确的。