Вызов jquery ajax не запускается в загрузочном шрифте

Я пытаюсь сделать загрузочный шрифт для твиттера с помощью Ajax, но ничего не происходит. Нет ошибок, нет вывода. Вот мой код jquery ajax

    function CallData() {

    $('input.typeahead.local.remote').typeahead({
        source: function (typeahead,query) {
            $.ajax({
                type: "GET",
                url: "http://cs-api-sandbox.herokuapp.com/v1/challenges/search?keyword=r&callback=my_callback",
                jsonpCallback: "my_callback",
                dataType: "jsonp",
                error: function (xhr, errorType, exception) {
                    var errorMessage = exception || xhr.statusText;
                    alert("Excep:: " + exception + "Status:: " + xhr.statusText);
                }
            });
        }
    });

}

function my_callback(data) {
    alert('hi');
}

Вот мой html-код

<input type="text" id="txt" runat="server" class="span4 typeahead local remote" placeholder="Search..." />

я вызываю функцию ajax CallData() при каждом нажатии клавиши, но ничего не происходит


person iJade    schedule 11.01.2013    source источник
comment
Инициируется ли какой-либо из вызовов alert()?   -  person Alexander    schedule 12.01.2013
comment
нет не заводится   -  person iJade    schedule 12.01.2013


Ответы (2)


Вам нужно передать результат запроса ajax второму аргументу источника (который является обратным вызовом для заполнения типа впереди). Надуманный пример:

$('#mytypeahead').typeahead({
    source: function(query, process){
        $.ajax({
            url: '/some/url?query='+query,
            success: function(response){
                process(response);
            }
        });
    }
});
person joeltine    schedule 11.01.2013

Попробуйте добавить async: false в $.ajax - потому что механизмы javascript не синхронизированы. Надеюсь, это поможет

person Thiện Trần Hữu    schedule 17.10.2015