jQuery mobile ajax nicht laden
Muss ich vermisse eine wirklich einfache Sache hier, weil es scheint so offensichtlich...und ich kann nicht glauben, ich kann nichts finden im web für diese!
Ich versuche zu verwenden die jQuery mobile Bibliothek eine mobile-Ansicht meiner website.
Ich habe drei Seiten (Daten-Rolle) in meine Seite. Zwei mit statischen Inhalten und der zweiten mit Inhalt möchte ich laden, mit ajax. Die home-Seite den link zu den anderen zwei Seiten:
<div data-role="page" id="home">
<div data-role="header" id="header">
<h1>the header</h1>
</div>
<div data-role="content">
<a href="http://absolutepathtomyserver/homepage#highlights" data-role="button">highlights</a>
<a href="http://absolutepathtomyserver/updatePlaylistTemplate#playlist" data-role="button" rel="external">playlist</a>
</div>
</div>
<div data-role="page" id="highlights">
<div data-role="content">
<p class="center">My static content</p>
</div>
</div>
<div data-role="page" id="playlist">
<div data-role="content"><!-- TO BE FILLED FROM AJAX! --></div>
</div>
Aus meinem Verständnis der vielen tutorials die ich gelesen, die standardmäßig alle a href-links führen Sie einen ajax-Aufruf sofern nicht anders angegeben, aber es funktioniert nicht. Wenn ich auf den link markieren, die Seite schieben, wie zu erwarten, ohne zu laden, die andere Seite, da es die gleiche Seite. Alles ist in Ordnung hier. Aber wenn ich auf die playlist-Seite, die slide animation ausgeführt, aber der ajax-Aufruf nie gemacht, so dass der Inhalt der Wiedergabeliste wird nie gefüllt. Beachten Sie, dass ich überwachen, die Netzwerk-Aufrufe aber keiner gemacht, wenn ich auf den link.
Hab ich was verpasst?
Ist es meine absolute nennen? Ich benutze die tag-Basis-url für statischen Inhalt, also die links müssen absolute während all meiner Anwendung.
Brauche ich das .bind-Methode?
Brauche ich, um den ajax-Aufruf manuell? Ich kann es tun, aber von der ich gelesen habe scheint es sich um native href-link in der mobilen exetension...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem jQuery Mobile-ajax-link-handling gilt für pseudo-Seiten, die nicht bereits in Ihrem Dokument. Wenn Sie möchten, um ajax-Seite geladen, von dem link auf Ihrer
home
pseudo-Seite, dann lassen Sie dieplaylist
pseudo-Seite aus dem Dokument. jQuery Mobile gehen Sie auf die angegebene url in den link, greifen alle Inhalte innerhalb derdata-role="page"
- element, und fügen es an der dom-automatisch, und der übergang zu den neu hinzugefügten Seite.Einen anderen Weg zum laden der Daten über einen ajax-Aufruf, wenn die
playlist
Seite angezeigt wird, etwa so:Obigen Beispiel lädt die html in der
data-role="content"
element innerhalb derplaylist
pseudo-Seite jedes mal, wenn es angezeigt wird. Sie konnte alternitively verwendenpagecreate
oder einer der anderen jQuery Mobile events.Option 2 mit ein wenig tweeking. Ich weiß nicht warum, aber so ist die callback-Funktion in Ihrem code scheint zu schnell, weil kein Inhalt gefüllt, wenn der Inhalt ist entnommen aus dem back-end. Ich kann sehen, dass der Aufruf in meinem Netzwerk Inspektor. Auch dort fehlte "'"' s in die zweite Auswahl.
Hier ist der funktionierende code:
Ich Frage mich immer noch, warum die option 1 nicht die richtige url. Ich bin auch Angst, dass dabei meine ajax-Aufruf manuell werde ich überspringen Sie die Standard-spinner der jquery-mobile-framework. Vor Ort ist es zu schnell, ich sehe es nicht sowieso.