Следующий код предназначен для выполнения чисто ajax-запроса POST, вместо этого он, похоже, выполняет POST через ajax, а затем браузер переходит к ответу .
HTML ...
<div id="bin">
<form class="add" method="post" action="/bin/add/">
<p>I'm interested! Save for later.</p>
<input type="hidden" name="product_id" value="23423">
<input type="submit" value="Save">
</form>
<form style="display:none;" class="remove" method="post" action="/bin/remove/">
<p>I changed my mind--I'm not interested.</p>
<input type="hidden" name="product_id" value="23423">
<input type="submit" value="Unsave">
</form>
</div>
jQuery ...
$('#bin form').submit(function() {
$.post($(this).attr('action'),{
success: function(data) { $(this).hide().siblings('form').show() },
data: $(this).serialize()
});
return false;
})
Насколько я понимаю, строка return false;
должна означать, что, несмотря ни на что, любые вызовы submit функция или нажимает кнопку "Отправить" или нажатие клавиши Enter означает, что моя функция будет выполнена, и браузер будет , а не , перейдет к / bin / add
или / bin / remove
. Но по какой-то причине браузер меняет страницы.
Есть идеи, что я здесь делаю не так? Спасибо.