Ich versuche, eine einfache Abstimmungsschaltfläche zu tun, aber es funktioniert nur einmal pro Beitrag per Nachladen.AJAX Zweiter Anruf funktioniert nicht
Wie sollte es funktionieren: Klicken Sie auf "+" -> Update-Abfrage (in django) -> neu laden ein div (ändern "+" auf "-") -> erlauben, klicken Sie auf "-", um die upvote rückgängig zu machen
Es zeigt die "-" Taste, nachdem ich das erste Mal gewählt habe, aber wenn ich es anklicke, passiert nichts. Es funktioniert nur, wenn ich "F5" drücke und die Seite neu lade.
In der Konsole sind keine Fehler aufgetreten.
... some django scripts to check which button should be displayed ...
<span class="upvote"><span postId="{{post.id}}" class="vote" href="upvote/{{post.id}}">+</span></span>
<span class="downvote"><span postId="{{post.id}}" class="vote" href="downvote/{{post.id}}">-</span></span>
...
$(document).ready(function(){
$(".vote").click(function(e){
href = $(this).attr("href");
postId = $(this).attr("postId");
$.ajax({
url: href,
success: function() {
$("#post-"+postId+" >header").load(location.href+ " #post-"+postId+">header>*");
},
});
});
Die „postID“ und „href“ Attribute sind richtig
gefüllt
warum nicht verwenden, um ein -Tag rund um die, mit href Seite? –
Abe
funktioniert es gut mit aber die Seite scrollt nach oben jeden zweiten Klick. Wahrscheinlich ist das der Grund, warum ich es in geändert habe, also würde ich gerne dabei bleiben, wenn es einen Weg gibt, –
versuchen, '$ (". Vote "). Click()' handle Ereignis außerhalb '$ (Dokument) .ready() 'Kontext. – Abe