Nano Hash - криптовалюты, майнинг, программирование

Bootstrap 2.2 Проблема с вводом текста

Я использую следующий код, чтобы получить список предложений, когда я печатаю текстовое поле.

JS

$("#address").typeahead({
    source: function(query,typeahead){ 
        $.ajax({
            url: "http://localhost/disc/autocomplete/"+query,
            type: "GET",
            dataType: "JSON",
            async: true,
            success: function(data){
                typeahead.process(data); 
            }
        });
    },
    property: 'address',
    items:8,
    onselect: function (obj) { 
        // window.location = obj.url;
    }   
});

PHP

    $count=0;
    foreach ($query->result() as $row)
    {
        $count++;
        $item['value'] = $row->address;
        $item['id'] = $count;
        $output[] = $item;
    }        
    echo json_encode($output);

TextBox

<input type="text" id="address" autocomplete="off" name="address" class="input-block-level" placeholder="Street address..">

Теперь, когда я печатаю в текстовом поле, я получаю сообщение об ошибке

Uncaught TypeError: Object function (){return a.apply(c,e.concat(k.call(arguments)))} has no method 'process' 

РЕДАКТИРОВАТЬ:

$("#typeahead").typeahead({
    source: function(query,callback){ 
        $.ajax({
            url: "http://192.168.8.132/disc/autocomplete/"+query,
            type: "POST",
            dataType: "JSON",
            async: false,
            success: function(data){                   
                //this.process(data);
                callback(data);
            }
        });
    },
    items:8,
    onselect: function (obj) { 
    // window.location = obj.url;
    }   
});

Ответы:


1

что такое шрифт? вам, очевидно, нужно что-то сделать с ним, прежде чем вызывать член процесса. ( экземпляр , каким бы ни был typeahead ).

РЕДАКТИРОВАТЬ 1:

source: function(query,callback/** you need that to execute something after the XMLHttp request has returned**/){ 
        $.ajax({
            url: "http://localhost/disc/autocomplete/"+query,
            type: "GET",
            dataType: "JSON",
            async: true,
            success: function(data){
                /** execute the callback here do whatever data processing you want before**/
                callback(data); 
            }
        });
    },

в функциональном программировании это называется продолжением (как инструкция GOTO).

РЕДАКТИРОВАТЬ 2:

вы не решаете, что такое обратный вызов, обратный вызов - это функция, поэтому не пытайтесь делать что-либо еще, кроме как вызывать его с данными, которые вы получили. Опять же, обратный вызов — это инструкция, подобная GOTO, это продолжение, вы не контролируете его. вам нужно выполнить его с данными в качестве параметра.

29.11.2012
  • Если вы понимаете, о чем я, typeahead — это функция Bootstrap. Должен ли я создавать экземпляр tat ? Если да, то как мне это сделать? 30.11.2012
  • я знаю, что такое начальная загрузка Твиттера и что такое опережение ввода, я говорю об исходном обратном вызове и объекте ввода, который вы передаете исходной функции. Что это такое ? 30.11.2012
  • очевидно, я не понял эту часть тогда. Я ничего не передаю в обратный вызов. подскажите пожалуйста что там делать? на самом деле мой код выглядит так же, как сейчас. ничего не скрываю.. 30.11.2012
  • поэтому мне нужно вызвать typehead.process(data), я должен поместить эту строку в функцию обратного вызова? 30.11.2012
  • нет, вам не нужно вызывать typehead.process(data) , вам нужно вызвать обратный вызов, определенный как аргумент в исходной функции. если вы хотите выполнить некоторую обработку данных до этого, сделайте это в обратном вызове ajax или где угодно, но вызовите функциональную переменную напрямую, как она определена в сигнатуре исходной функции, просто посмотрите на мой код, нетрудно понять, что я делаю. обратный вызов - это функция. 30.11.2012
  • давайте продолжим это обсуждение в чате 30.11.2012
  • Привет, извините, у меня нет на это времени, просто возьмите мой фрагмент и вставьте его в свой код. Я не понимаю, в чем проблема, поскольку переменные вводятся в исходную функцию с помощью typeahead, вы не контролируете переданные переменные, а обратный вызов (аргумент 2d) является функцией. читать о Продолжение. 30.11.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..