Ich benutze jQuery, um einen Link auf eine PHP-Datei zu entführen. Diese PHP-Datei ist meistens html, ruft aber zwei php-Funktionen auf, die jeweils eine for-Schleife verwenden, um html auszugeben. Das Problem, auf das ich gestoßen bin, ist, dass der Ajax-Aufruf das von der PHP-for-Schleife generierte HTML falsch verschachtelt.jQuery Ajax Aufruf falsch verschachtelt PHP generiert HTML
Das Einbinden der PHP-Datei direkt auf die Seite funktioniert gut, aber wenn versucht wird, es über Ajax zu greifen, wird der HTML-Inhalt jedes sequentiellen Durchlaufs durch die Schleife in den zuvor erzeugten HTML eingefügt. Zum Beispiel:
<div>Content1</div>
<div>Content2</div>
<div>Content3</div>
wird:
<div>Content1<div>Content2<div>Content3</div></div></div>
Dies ist der entsprechende Code für die PHP-Datei:
<div class="publishedPosts">
<h3>Published</h3>
<?php displayPublishedBlogPosts(); ?>
</div>
<div class="verticalDivider"></div>
<div class="draftPosts">
<h3>Saved Drafts</h3>
<?php displayBlogPostDrafts(); ?>
</div>
Und das ist der jQuery-Code:
function adminPanelTabs() {
$('#adminPanelTabs ul li a').click(function(e) {
$('#adminPanelTabs ul li a.current').removeClass('current');
$(this).addClass('current');
$('#adminPanelContent').load($(this).attr('href'));
e.preventDefault();
});
}
Ich würde mich über Anregungen und Vorschläge freuen wie man das beheben kann.
Wie sieht eine tatsächliche Antwort aus, nicht PHP-Code aber vollständig gerendert? Ich würde wetten, dass dein Problem da drin ist. –
Schätzen Sie die Antwort, Nick. Ich habe hier ein paar Screenshots gepostet: Normal - http://nimblehost.com/test/normal.png –
Falsch verschachtelt - http://nimblehost.com/test/incorrectlyNested.png –