@Tutucu

Почему не работает ajax на странице?

Здравствуйте, впервые столкнулся с таким:
Есть скрипт :
<form action="http://site.ru/?t=subform" method="post" accept-charset="utf-8" autocomplete="off">
  <input type="hidden" name="action" value="post">
    <p>
      <input type="checkbox" checked="checked" value="6" name="id_cat[]">1
    </p>
    <table cellpadding="0" cellspacing="6">
      <tr>
        <td></td>
        <td><input size="30" type="text" name="name" autocomplete="off"></td>
      </tr>
      <tr>
        <td></td>
        <td><input size="30" type="text" name="email" autocomplete="off"></td>
      </tr>
      <tr>
        <td></td>
        <td><input type="submit" value="Подписаться"></td>
      </tr>
    </table>
  </form>


<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script>
	jQuery( document ).ready(function() {
    jQuery('form').submit(function(e){


   e.preventDefault();
   var data = jQuery(this).serialize();
   var url = jQuery(this).attr('action');
   var method = jQuery(this).attr('method');
   console.log(data);
   $.ajax({
     url: url,
     data: data,
     cache: false,
     method: method,
     success: function(html){
      jQuery('#form-message').html(html);
      console.log(html);
     }
   });
  });
 });
	
</script>


На сервере php всё это дело принимает.
Аякс запрос происходит, данные отправляются, но до сервера они не доходят, ни name ни email уже не доходят, обработчик их не видит! Подумал, что дело в php скрипте, но если поставить более свежую версию jquery (От 1.9 и выше), то всё ок! Значит ошибка в jquery, но в консоли разработчика всё чисто, не одной ошибки! В чём проблема?
З.Ы. На сайте стоят оч. древние плагины, которые работают с jquery 1.8.
  • Вопрос задан
  • 395 просмотров
Решения вопроса 1
@StrikeBack
У вас тип запроса передается свойством method, а должно быть type

вместо:
method: method,
сделайте:
type: method,
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@tyzberd
method (default: 'GET')
Type: String
The HTTP method to use for the request (e.g. "POST", "GET", "PUT"). (version added: 1.9.0)

type (default: 'GET')
Type: String
An alias for method. You should use type if you're using versions of jQuery prior to 1.9.0.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы