繁体   English   中英

如何使用对 PHP 脚本的 AJAX 调用执行 jQuery 自动完成?

[英]How to do jQuery autocomplete using an AJAX call to a PHP script?

我有以下用于自动完成的 jQuery 代码,

$( "#text" ).autocomplete({
      source: function( request, response ) {
        $.ajax({
          type: 'GET',
          url: 'server.php',
          dataType: 'json',
          data: {
            input: request.term
          },
          success: function(data) {
          response( $.map(data, function(item) {
            return {
              label: item.Symbol + " - " + item.Name + " ( " + item.Exchange + " )"
            }
          }));
        }
        });
      },
      minLength: 1,
      select: function( event, ui ) {
           var symbol = ui.item.label.split(' ');
               setTimeout(function() {
                   $('#text').val(symbol[0]);
               },0);
      }
    });

每当用户在文本框中输入键时,就会对 PHP 文件进行 AJAX 调用。 此 PHP 文件将从 API 检索数据并更新自动完成功能的建议列表?

我在 PHP 端有以下代码,

<?php
if(!empty($_GET['term'])) {
        $term = $_GET['term'];
        $url = "http://dev.markitondemand.com/MODApis/Api/v2/Lookup/json?input=".$term;

        $j_response = file_get_contents($url);
        $j_response = json_decode($j_response);

        print json_encode($j_response);

    }
?>

出于某种原因,自动完成对我不起作用 - 我在这里做错了什么?

在 PHP 中,您尝试使用$_GET['term'] ,但在 JavaScript 中,您的变量称为input 更改数据对象以使用term not input

data: {
  term: request.term
},

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM