0

Ajax を使用して Twitter ブートストラップ タイプヘッドを実行しようとしていますが、何も起こりません。エラーも出力もありません。これが私の 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()を呼び出していますが、何も起こりません

4

2 に答える 2

0

async: false$.ajaxに追加してみてください - javascript のメカニズムが同期されていないためです。この助けを願っています

于 2015-10-17T10:02:39.980 に答える
0

ajax リクエストからの結果を source の 2 番目の引数に渡す必要があります (これは、事前に型を設定するためのコールバックです)。不自然な例:

$('#mytypeahead').typeahead({
    source: function(query, process){
        $.ajax({
            url: '/some/url?query='+query,
            success: function(response){
                process(response);
            }
        });
    }
});
于 2013-01-11T23:25:53.527 に答える