Ich benutze jQuery Mobile mit PhoneGap. Wie kann ich JSON-Daten (von einem Server) abrufen und in eine Listenansicht auffüllen?Wie befüllen Sie eine jQuery Mobile Listenansicht mit JSON-Daten vom Server?
Antwort
Schauen Sie sich die Methode jQuery.getJSON() unter w3schools und jQuery API an.
Beispiel von jQuery API:
$.getJSON('ajax/test.json', function(data) { var items = []; $.each(data, function(key, val) { items.push('<li id="' + key + '">' + val + '</li>'); }); $('<ul/>', { 'class': 'my-new-list', html: items.join('') }).appendTo('body'); });
Dieses Beispiel, natürlich, stützt sich auf die Struktur der JSON-Datei:
{ "one": "Singular sensation", "two": "Beady little eyes", "three": "Little birds pitch by my doorstep" }
unter Verwendung dieser Struktur, die zB durch die angeforderte Schleifen Daten, erstellt eine ungeordnete Liste und hängt es an den Text an.
versuchen diese:
$.ajax({
type: "POST",
url: "your_url",
contentType: "application/json; charset=utf-8",
dataType: "json",
success:successFunction,
error: function(msg) {
alert(msg.statusText);
}
});
function success:successFunction(data){
var html ='';
$.each(data.d, function(index, item) {
html += '<li><a href="#">' + item.Your_data+ '</a></li>';
});
$('#ul_id').append($(html));
$('#ul_id').trigger('create');
$('#ul_id').listview('refresh');
}
function makeList() {
$.post("http://example.com/getlist.php",
function(resultfromphp) {
$('#ulListview').append(resultfromphp);
$('#ulListview').trigger('create');
$('#ulListview').listview('refresh');
});
}
$("#pageName").live('pagebeforeshow', function(event) {
makeList();
});
Dies funktioniert für mich perfekt. Die PHP kehrt <li></li>
Tags Die HTML ist einen <ul id="ulListview"></ul>
Tag
ich an einem ähnlichen Projekt arbeitete JQM mit dem ich später durch Telefon Lücke vorbei sein würde. Die obigen Antworten können zwar verwendet werden, um Daten dynamisch mit ajax zu füllen, jedoch nicht die Implikationen des JQM-Ajax, da der Jquery-Ajax nicht wirklich für die JQM-Ereignisse geeignet ist, die das DOM-Ereignis für diejenigen erweitern, die das sind Interessiert oder in einem ähnlichen Dilemma wie ich, hoffe ich, dass die folgende Seite Ihnen hilft, eine informierte Entscheidung mit Ihrem Projekt zu treffen.
http://jquerymobile.com/demos/1.2.0/docs/pages/page-dynamic.html
- 1. mehrzeilige Listenansicht Artikel mit jQuery Mobile
- 2. jQuery Mobile - Popup in verschachtelter Listenansicht
- 3. Dynamisch ändern Symbol in jQuery Mobile Listenansicht
- 4. Wie befüllen Sie eine OrientDB-Zeitreihe?
- 5. Wie befüllen Sie chart.js mit SQL-Daten?
- 6. befüllen jtable mit SQL Server-Datenbank
- 7. Mit Windows Mobile Listenansicht in LargeIcon Modus
- 8. Lesen Sie eine Datei vom Server mit SSH mit Python
- 9. Navigieren Sie über eine Seite mit jQuery mobile?
- 10. So übertragen Sie eine Datei vom Server zum Server
- 11. Phonegap: lokale Datenbank mit Daten von externem Server befüllen
- 12. Ist jquery-mobile "mobile first"
- 13. jQuery Mobile funktioniert nicht auf godaddy server
- 14. Wie befüllen Sie Sharepoint MOSS 2007 Referenzdaten?
- 15. So laden Sie eine Datei vom Server mit PHP Code
- 16. mobile app auto dial on message vom server
- 17. jQuery-Mobile ListView Plugin ohne jQuery-Mobile
- 18. Füllen Sie ListView mit Daten vom Server
- 19. jQuery Mobile, HTML5, Einstellung Eingabefeld vom Typ = "Datum"
- 20. JQuery Mobile Bug mit scrollTop
- 21. Verwenden jQuery Mobile 1.0.1 mit jQuery 1.7.2
- 22. jQuery Mobile Symbol Anzahl Abzeichen/Blasen
- 23. Weiße Seite beim Laden mit jQuery Mobile
- 24. jQuery/JS: Textdatei vom Server synchron lesen
- 25. Reverse Http Post-Vorgang vom Server auf mobile Geräte
- 26. Cordova jquery mobile App langsam
- 27. Füllen JQuery UI-Dialog vom Server (Datenbank)
- 28. befüllen Baumansicht Inhalt mit C++
- 29. Laden jQuery-Plugin standardmäßig vom Server (AJAX)
- 30. So drucken Sie JSON-Daten auf der Ansichtsseite vom Server
Können Sie mir eine vollständige Demo geben? –
+1 .listview ('refresh'); ist was ich brauchte. – blak3r