AJAX пост не работает - PullRequest
       3

AJAX пост не работает

0 голосов
/ 21 июля 2011

Я использую jQuery и Codeigniter для обновления базы данных через AJAX.Следующий код, похоже, ничего не делает и не отправляет что-либо на мой контроллер при нажатии кнопки ...

jQuery:

$("#button_submit1").click(function(e) {

    $.ajax({
        type: "POST",
        url: window.location.href,
        dataType: "json",
        data: $('#writereview_form').serialize() + '&ajax=true',
        cache: false,
        success: function(data) {
                    alert("yay");
                    //$("#writereview_box").fadeOut(1000);
        }
    });

    return false;

});

HTML:

<form action="http://mysite.com/places/writereview/2107" id="writereview_form" method="post" accept-charset="utf-8">   

...
...

<input type="submit" name="submit" value="Submit Review" class="button_submit" id="button_submit1">

Есть идеи, почему данные ajax не отправляются?

Ответы [ 2 ]

4 голосов
/ 21 июля 2011

В этом случае лучше связать событие 'submit' в форме, а затем использовать preventDefault(), чтобы остановить отправку HTML и использовать вместо этого Ajax.

Вы должны также использовать действие формы вместо window.location

$("#writereview_form").submit(function(e) {
  var $this = $(this);
  e.preventDefault();

  $.ajax({
      type: "POST",
      url: $this.attr('action'),
      dataType: "json",
      data: $this.serialize() + '&ajax=true',
      cache: false,
      success: function(data) {
                  alert("yay");
                  //$("#writereview_box").fadeOut(1000);
      }
  });

});
0 голосов
/ 21 июля 2011

Попробуйте, используя window.location.href и указав URL как url: "page.php",

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