Как изменить 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 преимущества: Отменить ожидающие запросы Вызов ответа с пустым множеством в случае ошибки, который кажется мне более вежливым.
Ответ 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 преимущества: Отменить ожидающие запросы Вызов ответа с пустым множеством в случае ошибки, который кажется мне более вежливым.