实现自动完成时,“this.source不是函数”错误

时间:2013-01-30 07:29:23

标签: javascript json jquery javascript-events

$(document).ready(function(){
   var var_name=null;
   $('#id1').click(function(){

      $.ajax({
         type:"GET",
         url:" ggs.erm.servlet.setup5.Page",
         success:function(response){
            var_name=response;
            console.log(response);
         }
      })
   });
   $("#id").autocomplete({source:var_name});
});


这是我正在搞乱的代码,它说TypeError:this.source不是一个函数。我错了,纠正我??? screenshot of Error and Json from response

1 个答案:

答案 0 :(得分:11)

jQuery Ajax方法是非阻塞的,所以看起来你试图在上一个方法解析之前设置一个自动完成源。您可能希望将autocomplete分配移至.ajax()来电的成功方法。

因此,请使用:

,而不是您拥有的
$.ajax({
    type:       "GET",
    url:        "ggs.erm.servlet.setup5.Page",
    success:    function(response) {
        $("#id").autocomplete({ source: response });
    }
});