1

私は次のコードを持っています。

ajaxクエリは機能し、サーバーから返されるデータは有効なjsonです。http://jqueryui.com/demos/autocomplete/#remote
のようなリクエストにより、リモートデータソースでオートコンプリートドロップダウンを機能させることに成功しました。

私の問題は、jquery.ajaxから返されたデータがオートコンプリートに表示されないことです。誰でも助けることができますか?thks。

jQuery( "#input_2_5" ).autocomplete({
    source: function(request, response){
        jQuery.ajax({
            url: "url/wp-admin/admin-ajax.php",
            type:'POST',
            dataType: 'json',
            data:{
                action: 'word_autocomplete'
            },

            success: function(data) {
                return data;
            }

        });

    }

});
4

2 に答える 2

2

jQuery( "#input_2_5").autocomplete({
source:function(request、response){

    jQuery.ajax({
        url: "url/wp-admin/admin-ajax.php",
        type:'POST',
        dataType: 'json',
        data:{
            action: 'word_autocomplete'
        },
        success: function (data) {
                if (data.d != null) {
                    response($.map(data.d, function (item) {
                        return {
                            value: item.name
                        }
                    }));
                }

            }
    });
}

});

于 2012-11-07T11:56:28.310 に答える
0

この定式化は私のために働きました:私のものはjsonpリクエストでした、しかしこれはそれをするべきです:

jQuery( "#input_2_5" ).autocomplete({
    source: function( request, response ) {
                    $.ajax({
                        url: "url/wp-admin/admin-ajax.php",
                        type: 'POST',
                        data: 'searchterm=' + request.term,
                        success: function( data ) {
                            response( $.map( data, function ( item ) {
                        return item;
                    }));

                        }
    });

明らかに、サーバー側はクエリ文字列で「 searchterm 」を検索する必要があります。

于 2012-11-12T04:36:39.890 に答える