[英]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.