Twitter Bootstrap Typeahead mit JSON-REST
Ich habe Probleme bei der Umsetzung des Twitter Bootstrap Typeahead-Funktion mit einer JSON-web-Service.
Ich habe mir alle Beispiele auf dieser website und kann nichts finden, dass es funktionieren wird. Ich weiß, dass meine JSON-web-service-arbeiten; ich kann geben Sie die Adresse in meinem browser und es gibt die JSON-ich erwarte, dass mit dem MIME-Typ "application/json".
Habe ich dieses JavaScript in den
<body>
meiner HTML-Seite:
<script>
$('#typeahead').typeahead({
source: function (query, process) {
return $.getJSON(
'http://localhost:8732/IngredientsService/search/',
{ query: query },
function (data) {
return process(data);
});
}
});
</script>
Habe ich den code als meinen "input":
<input type='text' id='typeahead' class='typeahead' data-provide="typeahead" data-items="10" />
Kann mir jemand erklären, warum das nicht funktioniert?
- Was meinst du mit funktioniert nicht? Sind Sie immer Fehler in der Konsole? Sehen Sie jede Aktivität im Netz?
- Ist, dass deine JSON-format gültig ist?
- Sie können überprüfen Sie Ihre json-auf jsonlint.com
- Sorry, meine Beschreibung war nicht sehr hilfreich. Der Fehler ist: es passiert nichts. Ich sehe keine Fehlermeldungen in der console (Firebug). Wie kann ich überprüfen, um zu sehen, ob es irgendeine Aktivität auf dem Netzwerk?
- was hat es zu sagen, Sie fügen Sie
console.log(data)
wie die erste Zeile infunction(data)
? - Hinzugefügt der Linie. Es wurde nichts in die Konsole geschrieben.
- Ich benutzte Chrome und betrachteten den 'Network' tab der Developer-tools... und es scheint, dass die Web-Service ist nicht auf Sie zugegriffen wird. Der URI funktioniert, so bin ich nicht sicher, warum dies der Fall sein würde.
- Ist die Domäne der Anwendung derselben, die als die Domäne der service? Sie sollten einige Fehler in der chrome-Konsole.
- Ist die Konsole aktiviert?
- Sie sind auf dem gleichen Netzwerk. Es gibt keine Fehler in der Konsole angezeigt. Ich fühle mich wie der Service ist nicht auf Sie zugegriffen wird. Meine console (in Chrome) ist aktiviert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach dem letzten Kommentar ("web-Dienst nicht zugegriffen") - haben Sie versucht, die normalen /dokumentierten Ansatz?
$.getJSON ist nicht gerade nötig, aber nützlich, wenn Sie möchten, laden Sie eine gesamte JSON und injizieren Trank Sie es als eine Quelle für die typeahead
Von dem, was ich sehen kann, die typeahead-Dokumentation, die der source-Taste in das Parameter-Objekt ist nicht gültig.
Sollte es Aussehen denke ich:
http://jsfiddle.net/qVjsu/
Ist es besser weglassen Rückkehr bei der Verwendung von async-Quellen, da process() wird ausgelöst, zweimal