jquery自动完成问题

时间:2011-04-19 14:03:04

标签: ajax jquery-ui jquery autocomplete

JS

$( "#ethnicbg" ).autocomplete({
    source: function( request, response ) {
        $.ajax({
            url: 'ethnic/',
            type: 'POST',
            dataType: "jsonp",
            data: {
                q: request.term
            },
            success: function( data ) {
                response( $.map( data, function( item ) {
                    return {
                        label: item.title,
                        value: item.value
                    }
                }));
            }
        });
    },
    minLength: 1,
    select: function( event, ui ) {
        // log( ui.item ?
            // "Selected: " + ui.item.label :
            // "Nothing selected, input was " + this.value);
    },
    open: function() {
        $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
    },
    close: function() {
        $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
    }
});

PHP

header('Content-type: application/json');
$url    = $this->url->get();
$arr    = get_data(); // returns [{"title":"White","value":"White"}]
echo json_encode($arr);

它返回数据,问题出在某处:成功: 就在response($.map....我推杆console.log('TEST') dnt似乎完全去那里,或提醒任何我做错的事情之前?

解决

dataType: "jsonp",应该是dataType: "json",如果有人可以解释json,jsonp之间的区别吗?在这种情况下,它可以帮助我和其他可能会碰到的人吗?

1 个答案:

答案 0 :(得分:4)

解决

dataType:“jsonp”,应该是dataType:“json”,如果有什么能解释一下json,jsonp之间的区别吗?在这种情况下,它可以帮助我和其他可能会碰到的人吗?