Как изменить jQuery autocomplete plugin default querystring key? (термин, который я хочу)
Плагин для автозаполнения jQuery отправил такой запрос
mysite.com/suggestion?term=Sadegh
Есть ли способ изменить ключ querystring для другого? я не могу найти вариант, который предоставляет это для меня;)
Ответы
Ответ 1
Я предполагаю, что вы используете jQuery Пользовательский интерфейс Автозаполнение
Вам необходимо указать обратный вызов в качестве источника, например:
$(...).autocomplete({
source: function(term, callback) {
$.getJSON("url", { foo: term }, callback);
}
});
Ответ 2
Вышеуказанное не подходит для текущей версии (1.8.6). Не уверен, что это когда-либо было...
$(...).autocomplete({
source: function(request, response) {
$.getJSON("url", { foo: request.term }, response);
}
});
foo: имя нового ключевого ключа.
Ответ 3
На самом деле я выкопал код, который использует плагин. Адаптировать его для изменения термина будет примерно так:
$('#form').autocomplete({
source: (function() {
var xhr;
return function(request, response) {
if (xhr) {
xhr.abort();
}
xhr = $.ajax({
url: 'mysite.com/suggestion',
data: {
foo: request.term
},
dataType: 'json',
success: function(data) {
response(data);
},
error: function() {
response([]);
}
});
}
})()
});
Я бы сказал, что у этого есть 2 преимущества:
- Отменить ожидающие запросы
- Вызов ответа с пустым множеством в случае ошибки, который кажется мне более вежливым.