JQuery AJAX проблема? - PullRequest
       1

JQuery AJAX проблема?

0 голосов
/ 09 сентября 2010
 <form class="follow-form" method="post" action="listen.php">
    <input name="followID" value="123456" type="hidden">
    <button type="submit" value="Actions" class="btn follow" title="123456">
        <i></i><span>follow</span>
    </button>
</form>

файл JavaScript:

jQuery(function ($) {
         /* fetch elements and stop form event */
         $("form.follow-form").submit(function (e) {
          /* stop event */
          e.preventDefault();
          /* "on request" */
          $(this).find('i').addClass('active');
          /* send ajax request */
          $.post('listen.php', {
           followID: $(this).find('input').val()
          }, function () {
           /* find and hide button, create element */
           $(e.currentTarget)
             .find('button').hide()
             .after('<span class="following"><span></span>Following!</span>');
          });
         });
        });

Я хотел знать, какой процесс будет проходить в listen.php через ajax, я знаю, что это утверждение mysql, но что потом после !!

Что это такое: когда вы нажимаете кнопку «Follow», он отправляет запрос ajax на listen.php, а затем, если он успешен, он переходит в следующее, показывая, что вы следовали за пользователем

спасибо, что я не спал всю ночь

1 Ответ

1 голос
/ 09 сентября 2010

Что ж, с вашим кодом здесь все в порядке.Я настроил jsfiddle , чтобы протестировать его, и он отлично работает.Единственная проблема, которая не должна влиять на то, захватывается ли событие submit обработчиком события, заключается в том, что HTML-фрагмент, который вы пытаетесь вставить после кнопки, является недействительным - у вас есть смешанные открывающие и закрывающие тегивверх.Вот код, который у меня есть после этого незначительного редактирования:

jQuery(function($) {
    $("form.follow-form").submit(function(e) {
        e.preventDefault();

        $(this).find('i').addClass('active');

        $.post('/ajax_html_echo/', {
            followID: $(this).find('input').val()
        }, function() {
            $(e.currentTarget).find('button').hide().after('<span class="following">Following!</span>');
        });
    });
});

Кроме этого, он работает нормально - то есть, если вы хотите, чтобы диапазон following отображался независимо от результата запроса ajaxявляется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...