Twitter Typeahead удаленный

Я пытаюсь использовать напечатанный текст в Twitter, но столкнулся с проблемой. Я не знаю, как typeahead передает строку на сервер. Это через параметр GET? Если да, то как называется параметр?


person averageman    schedule 01.08.2013    source источник
comment
когда я typeahead remote example в Google, появляется эта страница: twitter.github.io/typeahead.js/examples < / а>   -  person davidkonrad    schedule 01.08.2013


Ответы (2)


Проще всего с помощью параметра GET, вы можете выбрать любой параметр, который хотите.

In JS:

$('#search').typeahead({
    name: 'Search',
    remote: '/search.php?query=%QUERY' // you can change anything but %QUERY, it's Typeahead default for the string to pass to backend
});

В PHP (или любом другом, что у вас есть):

$query = $_GET['query'];

Надеюсь, вы уловили основную идею.

person Hieu Nguyen    schedule 01.08.2013
comment
Также, если вы используете сегменты маршрутизации URL-адресов, вы можете сделать это следующим образом: domain / resource /% QUERY ' - person Gerardo Jaramillo; 27.05.2014

Возможно, вы захотите рассмотреть что-то вроде этого, это очень простой пример удаленного источника данных. Параметр get в этом примере - q.

// Get your data source
var dataSource = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {
        url: 'path/to/your/url/json/datasource/?q=%QUERYSTRING',
        wildcard: '%QUERYSTRING'
    }
});

// initialize your element
var $typehead = $('#form input').typeahead(null, {
    source: dataSource
});

// fire a select event, what you want once a user has selected an item
$typehead.on('typeahead:select', function(obj, datum, name) {
    //your code here
});

////////////////////////////////////
# in python (django) we get a query string using the request object passed through a view like this
query = request.GET.get('q') or ""
//the caveat [or ""] is just to prevent null exceptions

///////////////////////////////////
# using php
$query = ($_GET['q']) ? $_GET['q'] : "";
person Peter Bob Ukonu    schedule 27.06.2015