jquery, не может иметь ajax-вызов в функции обратного вызова - PullRequest
0 голосов
/ 11 июля 2011
<head>  
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
         $(document).ready(function(){
              $("#submit").click(function(){
                     $.get("invite_friends_session.php", function(){
                    });
               });
          });
</script>
</head>
<body>
<form >
<input type="submit" name="submit" id="submit" style="margin-top:100px; margin-left:100px;" />
</form>
</body>

часть $.get("invite_friends_session.php") не работает.Но это работает, если я оставляю его вне функции обратного вызова.

Но мне нужно вызывать allow_friends_session.php всякий раз, когда есть щелчок по # submit.

как это сделать?

Ответы [ 3 ]

5 голосов
/ 11 июля 2011

Так как кнопка отправки находится внутри form, нажатие кнопки отправки всплывает и отправляет форму.Вам нужно добавить return false в конец обработчика:

$("#submit").click(function(){
    $.get("invite_friends_session.php", function(){
    });
    return false;
});
1 голос
/ 11 июля 2011

[Изменить] Вы должны запретить действие отправки формы по умолчанию при нажатии.

$(document).ready(function(){
  $("#submit").click(function(e){
    e.preventDefault(); //edit
    $.get({ url: "invite_friends_session.php",
            success: function() {
              alert('success');
            },
            error: function() {
              alert('error');
            },
            complete: function() {
              alert('complete');
            }
          });
  });
});
0 голосов
/ 11 июля 2011

Удалите теги <form> вокруг кнопки отправки.Поскольку вы используете метод jQuery .get, вам не нужен этот тег формы (технически, он даже не должен быть кнопкой ввода ввода).Прямо сейчас он пытается опубликовать, используя форму вместо того, чтобы получить страницу через jquery.

Пример: http://jsfiddle.net/R3CWp/

<head>  
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
         $(document).ready(function(){
              $("#submit").click(function(){
                     alert("i got clicked");
                     $.get("invite_friends_session.php", function(){
                    });
               });
          });
</script>
</head>
<body>
<input type="submit" name="submit" id="submit" style="margin-top:100px; margin-left:100px;" />
</body>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...