javascript - 如何将数据从 ajax 传递到 Jquery UI 自动完成

标签 javascript jquery ajax jquery-ui autocomplete

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

$("#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 是一个回调函数,需要一个字符串数组。您还为 ajax 声明了一个 response 值,因此您无法访问 response 函数。您必须为 success 参数设置另一个名称,例如 ajaxResponse。创建数组并在 success ajax 处理程序中调用 response 回调:

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

关于javascript - 如何将数据从 ajax 传递到 Jquery UI 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26117136/

相关文章:

javascript - 网页开发: how to show all errors (make errors verbose)?

javascript - 用于 ui-select 多个的 Angularjs 验证

javascript - 单击链接后销毁特定的 li 及其内容

javascript - 当不同的元素发生变化时,观察 dom 中元素的偏移量?

php - 在 PHP 中包含/需要一次

javascript - 为什么 UTF-8 字符在 jquery textcomplete 中不起作用?

javascript - HTML 作为输出 JQuery

jquery - 从rest接口(interface)获取JSON [Object对象]

jquery - github源码浏览器过渡是如何完成的?

jquery - 在 jQuery 中插入后更新 DOM