0

Select2 で非常に苦労しましたが、このコンポーネントは学習曲線に見合うだけの価値があります。

ここに私のコンポーネントがあります:

$( '#e1' ).select2({
                placeholder: "Select participants",
                minimumInputLength: 1,
                allowClear:true,
                multiple: true,
                ajax: { 
                    url: "/transporter/app/search",
                    dataType: 'jsonp',
                    data: function ( term, page ) {
                        return {
                            query:term + '*',
                            searchFor:'users',
                            sortBy:'relevance',
                            format:'json',
                            page_limit:10
                        };
                    },
                    results: function ( data, page ) { 
                        alert( data )
                        // return { results: data.response.userList.user };
                    }
                },
                formatResult: formatContacts, 
                formatSelection: formatContactsSelection,
                escapeMarkup: function( m ) { return m; }
            });

            function formatContacts( item ) {
                alert("GO")
                return item.displayName;
            };

            function formatContactsSelection( item ) {
                alert("HERE")
                return item.loginName;
            };

問題は、Chrome ネットワーク デバッガーでは有効な JSON が返されているのに、結果ハンドラーがアラート ( data ) をスローしないことです。それはなぜでしょうか?

4

1 に答える 1

0

犯人: dataType: 'jsonp'

明らかにフォーマット「json」に干渉していました。

取り出しました。

于 2013-07-15T20:18:20.747 に答える