2016-06-12 10 views
1

Ich habe den Eindruck, dass ich keinen Bluthund verwenden muss, wenn ich einen Remoteanruf durchführe. Ich habe versucht mit diesem Code:typeahead ohne Bluthund

$("#iban2").typeahead({ 
    hint: false, 
    minLength: 4, 
    highlight: true 
}, 
{ 
    source: function show(q, cb, cba) { 
     console.log(q); 
     var url = '@Url.HttpRouteUrl("DefaultApi", new {controller = "Iban"})' + "/" + q; 
     $.ajax({ url: url }) 
      .done(function(res) { 
       cba(res); 
      }) 
      .fail(function(err) { 
       alert(err); 
      }); 
    }, 
    displayKey: 'iban' 
}); 

Auch wenn ich die Ergebnisse erhalte, von dem Asynchron-cb Aufruf innerhalb der Quellfunktion funktioniert immer noch nicht. Irgendwelche Tipps zu den Vorgängen?

Danke.

Luis

Antwort

1

nicht sicher, warum, aber die Grenze Option Hinzufügen scheint das Problem zu lösen:

$("#iban2").typeahead({ 
    hint: false, 
    minLength: 4, 
    highlight: true 
}, 
{ 
    source: function show(q, cb, cba) { 
     console.log(q); 
     var url = '@Url.HttpRouteUrl("DefaultApi", new {controller = "Iban"})' + "/" + q; 
     $.ajax({ url: url }) 
      .done(function(res) { 
       cba(res); 
      }) 
      .fail(function(err) { 
       alert(err); 
      }); 
    }, 
    limit:10, 
    displayKey: 'iban' 
});