İstek/sunucu yanıtı otomatik tamamlama neye benziyor?
Bu bir kara delik gibi görünüyor: jQuery UI web sitesi arama, Yığın Taşması, ve Google'da bir saat Sonra, henüz yazmayı en temel bilgi bulamadımsunucu tarafıotomatik tamamlama.
Ne parametre sunucuya geçirilir ve JSON yanıt ne olmalıdır?
Ben bir şey eksik olmalı, çünkü herkes bunu yapmak için nasıl öğrendin? Siteleri tek tarafı istemci JavaScript kodu ve protokol veya sunucu tarafı örnekler asla tartışmak gibi görünüyor.
Yeterli çalışma basit uzaktan örnek almam lazım.
CEVAP
Parametre ne sunucusuna geçirilir
Sunucu tarafı kodu (belgelerine) request.term
geçmesi gerekir:
İstek bir nesne, bir tek "anlamına gelir" terimi özellik adı şu anda metin değeri giriş.
Temelde, autocomplete
kodunuzda şöyle bir şey olacak:
$("#autocomplete").autocomplete({
// request.term needs to be passed up to the server.
source: function(request, response) { ... }
});
ve JSON yanıt bakmak gerekir gibi mi?
autocomplete
widget label
value
özellikleri ile JSON nesneleri bir dizi sadece value
, belirtirseniz etiket olarak kullanılacak olsa da) bekliyor. En basit durumda, sadece bu gibi görünen bir veri döndürebilir:
[
{ label: 'C ', value: 'C ' },
{ label: 'Java', value: 'Java' }
{ label: 'COBOL', value: 'COBOL' }
]
Eğer daha karmaşık bir şey gerekiyorsa, $.ajax
işlevi success
bağımsız değişken otomatik tamamlama olmadan geri veri normalleştirmek için kullanabilirsiniz:
source: function( request, response ) {
$.ajax({
/* Snip */
success: function(data) {
response($.map( data.geonames, function( item ) {
return {
label: item.name (item.adminName1 ? ", " item.adminName1 : "") ", " item.countryName,
value: item.name
}
}));
}
});
Bu kod 16 ** örnek (Bu daha karmaşık bir senaryoda ajax otomatik tamamlama İşleri Genel iyi bir örnektir) alınır.
Temelde, ne başarılı bir ajax isteği üzerine, veri alınan normalize ($.map
) kullanarak otomatik tamamlama widget ne beklediğini zanneder.
Bu yardımcı olur umarım.
Nasıl tuzak jquery-uı Raylar otomatik ...
jQuery-UI'in iyi ekran otomatik t...
Nasıl Not Defteri'nde otomatik tamamla...
WPF:, ...otomatik tamamlama Metin kutu...
nasıl özel biçim otomatik tamamlama ek...