Подтвердить что ты не робот

Как изменить jQuery autocomplete plugin default querystring key? (термин, который я хочу)

Плагин для автозаполнения jQuery отправил такой запрос

mysite.com/suggestion?term=Sadegh

Есть ли способ изменить ключ querystring для другого? я не могу найти вариант, который предоставляет это для меня;)

4b9b3361

Ответ 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 преимущества:

  • Отменить ожидающие запросы
  • Вызов ответа с пустым множеством в случае ошибки, который кажется мне более вежливым.