如何将数据从Ajax传递到Jquery UI自动完成

马雷克·布热津斯基(MarekBrzeziński)

我有一个ajax代码,它从Api返回Json,我正在寻找一种方法,如何将这些数据传递给jQuery自动完成功能。这是mo代码:

$("#autocomplete").autocomplete({
      minLenght: 2,
      source: function(request,response) {        
      $.ajax({
        url: "http://www.myadres/search/"+$("#autocomplete").val(),
        crossDomain: true,
        type: "POST",
        dataType: "json",
         data: {
         "from" : "0",
         "take" : "10"
         },
        beforeSend: function() {  
          //alert ('working...');
        },      
        success: function( response) {
            for (i = 0; i < response.Results.length; i++) {
            // Console logs this data as desired, every time when i type something, console logging works good
            console.log(response.Results[i].Name);
            };          
          },
        error: function(  ) {
            alert( "Error occured!" );
        },   
        complete: function( xhr, status ) {
        }              
      })
     },
 }); 

我只是不知道如何将数据从成功回调传递到jquery自动完成。感谢您的任何建议。

尼古拉斯·阿尔伯特

response是一个期望字符串数组的回调函数。您还response为ajax声明了一个值,因此您无法访问该response函数。您必须为success参数设置另一个名称,例如ajaxResponse创建数组并responsesuccessajax处理程序中调用回调

success: function(ajaxResponse) {
    var values = [];
    for (i = 0; i < ajaxResponse.Results.length; i++) {
        values.push(ajaxResponse.Results[i].Name);
    };
    response(values);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章