Можно ли изменить Url, который генерирует автозаполнение JQuery JQueryUI?


Я использую код автозаполнения JQuery JQueryUI. Он переходит на мой url, который я предоставляю (чтобы найти ответы), но добавляет ?term=<search query> после url.

Я пытаюсь получить следующий url-адрес intead ...

/myurl/<term / search query>

Напр.

/myurl/abcd
/myurl/hello+world

И т. д...

Возможно ли это сделать?

В противном случае можно переименовать параметр запроса term во что-то другое, .. например, от query до q и т. д.?

1 4

1 ответ:

Вы можете использовать $.getJSON() себя в самом source Вариант , например:

$(".autocomplete").autocomplete({ 
  source: function(req, resp) {
    $.getJSON("/myurl/" + encodeURIComponent(req.term), resp);
  }
});

Нечто подобное происходит , Когда вы даете ему строку, он отправляет первый параметр, переданный методу в качестве объекта...который имеет свойство term, делая это вручную, вы просто получаете больше контроля над своими параметрами. Я также использую encodeURIComponent() выше, чтобы быть в безопасности при создании url-адреса напрямую (например, пробелы в + и т. д.).