Rückkehr Ich versuche, eine Ajax-Funktion über einen Link klicken einreichen, ich bin mit Onclick wie so:Onclick besucht den Link unabhängig von falschen
<a href="<?php echo SITE_URL; ?>watchlist/remove/<?php echo System::escape($this->item->item_id); ?>" onclick="manage_watchlist(); return false;" id="watchlist">
Remove From Watchlist
</a>
und meine Funktion:
var manage_watchlist = function(e)
{
alert("ff");
e.preventDefault();
$.ajax({
url: $(this).attr('href'),
type: 'post',
dataType: 'json',
success: function(data)
{
if(data.success)
{
if($(this).hasClass("remove"))
{
$(this).text("Add to Watchlist");
$(this).removeClass("remove").addClass("add");
$(this).attr('href', '<?php echo SITE_URL; ?>watchlist/add/<?php echo System::escape($this->item->item_id); ?>');
}
else
{
$(this).text("Remove from Watchlist");
$(this).removeClass("add").addClass("remove");
$(this).attr('href', '<?php echo SITE_URL; ?>watchlist/remove/<?php echo System::escape($this->item->item_id); ?>');
}
$('#watch_success_message').html(data.success + alert_close).show();
}
else
{
$('#watch_error_message').html(data.error + alert_close).show();
}
<!-- hide loading icon -->
$('.ajloading').hide();
},
error: function()
{
<!-- hide loading icon -->
$('.ajloading').hide();
}
});
return false;
}
Ich habe eine Warnung in die Funktion gesetzt, die so funktioniert, dass meine Funktion funktioniert, aber sie besucht immer noch den Link aus irgendeinem Grund?
Sie beide nicht benötigen, sollten 'zurückkehren false' und' e.preventDefault() '... würde ich empfehlen, später nur die Verwendung. – evolutionxbox
'this' in' $ .ajax' Aufruf ist '$ .ajax' Objekt. –
Die Rückgabe von false verhindert nicht, dass die Verbindung ausgelöst wird. Es wird "nur" die Ausbreitung stoppen (es ist anders, wenn der Listener mit jQuery eingestellt ist, aber es ist nicht das, was Sie hier tun). –