在自动完成 AJAX 请求中传递参数

Posted

技术标签:

【中文标题】在自动完成 AJAX 请求中传递参数【英文标题】:Pass a parameter in Autocomplete AJAX request 【发布时间】:2019-08-31 17:52:14 【问题描述】:

我正在研究要集成的自动完成选项。自动完成工作正常。但是当我添加另一个参数变量时,自动完成功能不起作用,猜测有点语法问题。在下面附加的脚本中,我需要将变量 countrycode 传递给 fetch_customers.php

$(document).ready(function($) 
  $("#customers").autocomplete(
    var countrycode = '<?php echo $agencyid; ?>';
    data: 
      countrycode: countrycode
    ,
    source: "fetch_customers.php",
    minLength: 2,
    select: function(event, ui) 
      var url = ui.item.id;
      if (url != '#') 
        location.href = '/view-customer/' + url;
      
    ,
    // optional (if other layers overlap autocomplete list)
    open: function(event, ui) 
      $(".ui-autocomplete").css("z-index", 1000);
    
  );
);

【问题讨论】:

请参考这个“***.com/questions/3693560/…”。解决方案已在此处列出 谢谢。我会检查的。 【参考方案1】:

您的语法无效。您需要在提供给autocomplete() 的对象之外定义countrycode

话虽如此,这不是您在 jQueryUI 自动完成请求中传递数据的方式。您需要在您调用的 URL 的查询字符串中传递值:

$(document).ready(function($) 
  $("#customers").autocomplete(
    source: "fetch_customers.php?countrycode=<?php echo $agencyid; ?>",
    minLength: 2,
    select: function(event, ui) 
      var url = ui.item.id;
      if (url != '#') 
        location.href = '/view-customer/' + url;
      
    ,
    open: function(event, ui) 
      $(".ui-autocomplete").css("z-index", 1000);
    
  );
);

【讨论】:

没问题,很高兴为您提供帮助

以上是关于在自动完成 AJAX 请求中传递参数的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI 自动完成:中止请求

如何在 Laravel 5.7 中将多个数据库数据传递到 jQuery 的自动完成(AJAX)中

jQuery自动完成ajax请求不显示返回的数据

如何将 JSON 对象内的 JSON 数组传递给 jQuery 自动完成

如何在 JQuery UI 自动完成中使用 source:function()... 和 AJAX

如何将已经工作的 jquery ajax 发布请求重用于自动完成功能?