zu suchen Ich habe eine Menge Probleme, Autocomplete zu erhalten, um auf meiner Seite zu arbeiten. Wenn ich zwei Zeichen ("OW") in meine Sucheingabe eingeben, bekomme ich das Preloader-Bild (siehe unten), aber es verschwindet nie und ich bekomme nie das Autocomplete-Popup. Mit Blick auf die Konsole in Chrome zeigt:jQuery UI Autocomplete JSON gibt Fehler: Uncaught TypeError: Kann 'in' Operator nicht verwenden, um nach '62' in
Uncaught TypeError: Cannot use 'in' operator to search for '62' in [{"value":103,"label":"FLOWER"},{"value":105,"label":"YELLOW"}]
Hier die aktuelle Zeichenfolge, die (bestätigt durch das Hinzufügen eines alert (Daten) in den Erfolg Block) zurückgegeben wird:
[{"kwrdID":103,"kwrdKeyWord":"FLOWER"},{"kwrdID":105,"kwrdKeyWord":"YELLOW"}]
Hier ist die Haupt Code für die Autocomplete
$("#searchInput").autocomplete({
source: function (request, response) {
$.ajax({
url: '@Url.Action("GetKeywords", "Home")',
dataType: "json",
data: {
SearchTerm: request.term
},
success: function (data) {
response($.map(data.keywords, function (item) {
return {
label: item.kwrdKeyWord,
value: item.kwrdID
}
}));
}
});
},
minLength: 2
});
Und schließlich ist hier die preloader (für alle Fälle ist es im Zusammenhang).
$(document).ajaxStart(function() {
var position = $('#divParent').position();
position.left += (($('#divParent').width()/2) - ($('#preloader').width()/2));
position.top += (($('#divParent').height()/2) - ($('#preloader').height()/2));
$('#preloader').css(position).show();
$('#preloader').show();
}).ajaxStop(function() {
$('#preloader').hide();
});
Kann jemand helfen zu erklären, was hier vor sich geht?
denke ich, was es fixiert das 'JSON.parse' Anruf ist. –