我想传递一个GET或POST (像AJAX)值给我的php文件,它返回json作为自动补全。我完全迷惑了,我不知道如何使用prefetch和prefetch方法。以下是我的代码
Html/JS
$(document).ready(function() {
var communautes = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('communaute'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: '/plugins/autocomplete/getCommu.php'
});
var peoples = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('people'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url: '/plugins/autocomplete/getPeople.php?query=%QUERY',
cache: false
}
});
$('.multiple-datasets .typeahead').typeahead({
highlight: true
}, {
name: 'Communautes',
display: 'communaute',
source: communautes,
templates: {
header: '<h6>Communautés</h6>'
}
}, {
name: 'People',
display: 'people',
source: peoples,
templates: {
header: '<h6>Personnes</h6>'
}
});
});<div class="row">
<div class="col-md-4 col-md-offset-3">
<form action="recherche.php" class="search-form">
<div class="form-group has-feedback multiple-datasets">
<input type="text" class="form-control typeahead" name="search" id="search" placeholder="Rechercher" autocomplete="off">
<span class="glyphicon glyphicon-search form-control-feedback"></span>
</div>
</form>
</div>
</div>
</div>这是我试图获取$_ get‘’query‘的php文件。
<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/config.php';
require_once $_SERVER['DOCUMENT_ROOT'].'/plugins/LDAP/setLDAP.php';
$ldap=getLDAP();
$dn = $GLOBALS['userGroup'].",".$GLOBALS['domain'];
$filter="(|(".$GLOBALS['nom']."=".$_GET['query']."*)(".$GLOBALS['prenom']."=".$_GET['query']."*))";
$justthese = array($GLOBALS['nom'],$GLOBALS['prenom']);
$sr=ldap_search($ldap, $dn, $filter, $justthese);
$info = ldap_get_entries($ldap, $sr);
if($info['count']!=0){
for ($i=0; $i < $info['count'] ; $i++) {
$tab[]['people']=$info[$i][$GLOBALS['prenom']][0]." ".$info[$i][$GLOBALS['nom']][0];
}
echo json_encode($tab);
}
else echo "Aucune personne trouvée";
?>发布于 2017-06-13 19:33:43
如果任何人需要解决这个问题,我找到了一个方法来解决这个问题,但是忘记了预取
下面是我的方法(使用远程):
var peoples = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('people'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
wildcard: '%QUERY',
url: '/plugins/autocomplete/getPeople.php?query=%QUERY'
}
});https://stackoverflow.com/questions/44518160
复制相似问题