我正在使用:
$( "#search" ).autocomplete({
source: "http://ztest.local/ajax/ac"
});
因此,如果用户在搜索框中输入内容,则会向服务器发送请求...问题是我希望格式为以下格式:
http://ztest.local/ajax/ac/term/foo
但请求的依据是:
http://ztest.local/ajax/ac?term=foo
我试过了:
source: 'http://ztest.local/ajax/ac/term/' + encodeURIComponent($('#search').val()
然而,这甚至没有提出要求......
不确定如何前进,somewhat related question
答案 0 :(得分:1)
几个月前,我在Zend中使用了JQuery-Autocomplete和Zend。这是我写源的方式,希望它有所帮助。
$( "#unit_autocomplete" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: 'http://localhost/becasPropias/public/unit/autocomplete/format/json'+
'/type/'+type+'/term/'+request.term,
dataType: "json",
success: function( data ) {
$("#unit_autocomplete").removeClass('ui-autocomplete-loading');
},
error: function(jqXHR, textStatus, errorThrown ){
$("#unit_autocomplete").removeClass('ui-autocomplete-loading');
}
});
},
minLength:2,
select: function(event, selectedItem) {
toggle('hidden_unit', selectedItem['item']);
},
open: function() {
$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
},
close: function() {
$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
}
});
在整个代码中,以下是您感兴趣的部分:
source: function( request, response ) {
$.ajax({
url: 'http://localhost/becasPropias/public/unit/autocomplete/format/json'+
'/type/'+type+'/term/'+request.term,
dataType: "json",
success: function( data ) {
$("#unit_autocomplete").removeClass('ui-autocomplete-loading');
},
error: function(jqXHR, textStatus, errorThrown ){
$("#unit_autocomplete").removeClass('ui-autocomplete-loading');
}
});
}
并且不在此代码中
url: 'http://localhost/becasPropias/public/unit/autocomplete/format/json'+
'/type/'+type+'/term/'+request.term,
如您所见,您可以根据需要添加网址。我的git account中提供了此代码。