За последние 24 часа нас посетили 51594 программиста и 1452 робота. Сейчас ищут 811 программистов ...

не могу совладать с $.post

Тема в разделе "JavaScript и AJAX", создана пользователем Slavka, 31 окт 2013.

  1. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    блин 100 раз так делал .. всегда работало..сейчас уперся и не пойму где прокол
    Код (Text):
    1.  
    2.   <script type="text/javascript" src="js/jquery-1.10.2.min.js"> </script>
    3.   <script type="text/javascript" src="js/jquery-ui-1.10.3.custom.min.js"> </script>
    4.      
    5.    <form name="test_form" id="test_form" action=""  method="">
    6.    <table class="table" border="0">  
    7.            <tr><td  align="center"><label for="test1">test1: </label><input name='test1' id="test1" type='text' size="5" value="" accept=""/></td></tr>
    8.            <tr><td  align="center"><label for="test2">test2: </label><input name='test2' id="test2" type='text' size="5" value="" accept=""/></td></tr>
    9.            <tr><td  align="center"><label for="test3">test3: </label><input name='test3' id="test3" type='text' size="5" value="" accept=""/></td></tr>                  
    10.    <tr><td align="center"><input type="submit" value="запрос" /></td> </tr>    
    11.    
    12.  </table>        
    13.   </form>
    14.  
    15.          <script type="text/javascript" charset="utf-8">
    16.        
    17.           $(function() {
    18.   $("#test_form").submit(function(event){
    19.         var test_form = $("#test_form").serialize();
    20.         alert (test_form);
    21.         $.post("data2.php",test_form );
    22.                 });
    23.    
    24.      });
    25.    
    26.         </script>
    а теперь data2.php
    Код (Text):
    1.  
    2. <?php
    3.    
    4.     echo $_POST["test1"];
    5.     echo $_POST["test2"];
    6.     echo $_POST["test3"];
    7.     die("kuku");
    8. ?>
    в результате вот что вижу
    firebug показывает что запрос пошел post но почему то красный .. тутже делаю "отослать еще раз" - все выполняется успешно
    при этом в заголовке дописывается как будто запрос идет get
    спасайте, а то вешаться пойду .. такую фигню не могу запустить=))
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    1) Вы ведь в курсе того, что скрипты в php завершаются автоматически, после того как доходят до последней инструкции в контексте выполнения?

    2)Зачем перехватывать сабмит формы, чтобы потом руками собирать с нее данные и отправлять через js обычным постом? О_о
    Украсть бочку спирта, продать, а деньги пропить? о_О
    3) В алерте-то что выскакивает? Просто сейчас не имею возможности запустить у себя на проверку..
     
  3. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    знаю = пускай тормозится это и так конец .. мне надпись нужна пофик какая для теста
    2) в боевом варианте - стоит еше валидатор - который проверяет и если верно дает возможность отправить или останавливает отправку и результат надо показывать тутже ( в диалоговом окошке) - это я просто сюда в тестовую не стал все выводить
    3) в алерте это serialize(); просто смотрю форму видит или нет

    Добавлено спустя 3 минуты 55 секунд:
    я создал рядом с боевым скриптом папку - где положил эти 2 файлика и просто пробую - ради интереса даже на другую машинку клал - всеравно отправляет только когда 2 раз пнеш а не с 1 раза.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    echo 'pewpew' же. А то die - не солидно, бро :(
    может стоит покурить методы нативной html5-валидации? Ну это чисто так, саму проблему не рабочего кода, еств не решает, но как альтернатива - очень удобно, советую.
    ну так ты не форму показываешь, а переменную, скриптом же рожденную. Ты в содержимое загляни. Например, прикурившись отсюда http://habrahabr.ru/post/81472/

    Добавлено спустя 1 минуту 29 секунд:
    Хотя с вероятностью 99% проблема простяцкая и просто что-то сделано невнимательно. Вечерком надо будет глянуть дома. Все баги в стиле "всегда работало, а теперь нет, убить готов" всегда заканчиваются "вот я балда", проверено :)

    Добавлено спустя 1 минуту 51 секунду:
    Во! Банально! А просто прямой запрос к файлу работает? А то мб на сервере в папке лежит disalow у папача и все. Вчера буквально с таким столкнулся, балда :) Тоже злился, почему вдруг ajax не получается пробросить.

    Тыркни его напрямую по адресу, чтобы увидеть свое "куку", или выключи js и позволь форме самой отправить данные и глянь результат.
     
  5. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    знаю что простяцкая тут .. эээх так и быть покажу
    это же работает
    ---затер ссылки---

    мне почти полный аналог теперь надо - только будут не паспортные данные а фио ..
    вот она сырая версия ---затер ссылки---

    Добавлено спустя 4 минуты 14 секунд:
    ---затер ссылки---
    работает ((

    Добавлено спустя 2 минуты 25 секунд:
    достало щас полнстью с рабочего скопирую с валидатором .. надоел этот бред

    Добавлено спустя 42 минуты 16 секунд:
    правильно сделал что плюнул .. запустилось .. че ему не нравилось так и не понял
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Так оставлять нельзя с валидатором работает, без него нет, значит кури, что к чему, связку их.
     
  7. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    мне запускать надо это дело срочно .. я в туду лист щас запишу себе - потом поковыряюсь. Эти гады приходят и говорят - хочу .. еще вчера .. при этом данные на 50% битые - сами в екселе бьют потом хотят чтобы работало .. ну и сказал на вскидку - 50% ток работать будет - там примерно все вот так - 1 столбец а в нем
    фамилия имя отчество
    фамилия
    имя отчество
    фами-
    лия имя отчество ..

    я сразу их и послал .. делать табличку =)

    и таких штук 6 сказали - правда я их еше не видел
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ох...ну крепись, еще натерпишься, чую.
     
  9. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    пасиб .. крепюсь =)
     
  10. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Приходится тонуть в дерьме которое пишем сами.
    Но за такое:
    Код (PHP):
    1. <form name="test_form" id="test_form" action=""  method=""> 
    Надо отрубать руки по плечи.
    Ну зачем все так усложнять?

    Да когда вы уже научитесь читать.
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ок, что не так?
     
  12. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. <form id="send" method="post" onsubmit="return form(this)">
    2.     <input name="array[]" type="text">
    3.     <input type="submit" name="send" value="Отправить">
    4. </form>
    Не помешает отключенному js =) если нет страниц без перезагрузки.
    Все равно все будет выполняться только на одной странице...
     
  13. noganno

    noganno Новичок

    С нами с:
    26 авг 2013
    Сообщения:
    58
    Симпатии:
    0
    А почему красный? Какую ошибку показывает?
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ааа, вот ты о чем. А я обычно делаю void(null);
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не понял, а что вы изобретаете? способ не отправлять форму?
     
  16. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    ды все давно изобретено. Да, заглушка для сабмита, чтобы его мог перехватить событийный аякс.
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    return false?
     
  18. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. self.form=function(obj) {
    2.     if(self.type(obj.id,'string',true) && obj.id) {
    3.         switch(obj.id) {
    4.             case'reg':
    5.                 self.post(......);
    6.             break;
    7.         }
    8.     }
    9. return false;    
    10. }; 
     
  19. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    все что угодно, что годится на роль заглушки :)