За последние 24 часа нас посетили 18536 программистов и 1687 роботов. Сейчас ищет 1601 программист ...

Реализацией ajax в программе.

Тема в разделе "JavaScript и AJAX", создана пользователем Кубик, 21 мар 2017.

  1. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Помогите с реализацией ajax в программе.
    Потихоньку изучаю PHP программирование, столкнулся с такой проблемой.

    Есть форма, в форме отсутствует атрибут action.
    Код (Text):
    1. <form name="F1" method="post" id="betslip_form" style="margin-bottom: 0;">

    На кнопке, как понял, ajax запрос.
    Код (Text):
    1. <button name="formsubmit" type="submit" onclick="_paq.push(['trackEvent', 'Basket', 'Button', 'click']);" class="btn-clear-pay_busket submit_js">Отправить</button>

    После нажатия кнопки, данные формы отправляются на сгенерированный адрес.
    Код (Text):
    1. Request URL:https://www.***.com/ajax_basket_index.php?_r=0.15641357748175402
    2. Request Method:POST
    3.  
    4. Request URL:https://www.***.com/ajax_basket_index.php?_r=0.47582239503758117
    5. Request Method:POST

    Вопрос:
    Возможно этот запрос реализовать в программе или как то обойти, что-бы данные формы отправлялись куда нужно ?
     
  2. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Можно, найди, где этот адрес формируется, и все.
     
    Кубик нравится это.
  3. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    В самой форме, насколько понял, он не формируется. Тогда где его искать ?
     
  4. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    в JS-коде, который отправляет AJAX, разумеется. Этот адрес может быть там железно прописан, а может вписываться при формировании страницы на сервере, тогда лезть надо будет глубже. У меня другой вопрос - чего вы хотите добиться ковыряя что-то работающее?
     
    Кубик нравится это.
  5. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Написать программу, которая делала бы анализ, вместо меня.
    В JS-коде не разбираюсь совсем, поэтому обратился на форум.
    ajax вроде отправляет, только то что на кнопке ?:
    Код (Text):
    1. <button name="formsubmit" type="submit" onclick="_paq.push(['trackEvent', 'Basket', 'Button', 'click']);" class="btn-clear-pay_busket submit_js">Отправить</button>

    ещё в форме есть строка:
    Код (Text):
    1. <div class="busket-item busket_item_js" id="s-45de4fefcfb55b062c37abe3325e0ac2">
     
  6. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Она называется "поиск в тексте". CTRL+F в редакторе любом, даже в просмотрщике исходников браузера.
    На самом деле я хз, что это, зачем тебе это ковырять, зачем менять. Выглядит, как какой-то плагин к какой-то CMS, который, по-хорошему, имеет настройки, которые из админки правятся.

    Какая цель этих ковыряний-то?
     
    Кубик нравится это.
  7. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    С текстом всё в порядке и не надо ничего менять, сайт не мой. Я пишу программу для анализа событий, на который уходит много времени если вручную. Осталась одна проблема, отправить данные формы.
     
  8. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Какие данные формы? Кому отправить и откуда, учитывая, что сайт не ваш? А как они на этом сайте сформируются? Вы уверены, что понимаете, что делаете?
     
    Кубик нравится это.
  9. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Данные берутся из выбранного события, их нужно отправить POST запросом, проблема куда.
    из браузера выглядит так:
    Код (Text):
    1.  
    2. Request URL:https://www.***.com/ajax_basket_index.php?_r=0.15641357748175402
    3. Request Method:POST
    4.  
    5. Request URL:https://www.***.com/ajax_basket_index.php?_r=0.47582239503758117
    6. Request Method:POST
    Это не url страницы на которой находится форма, если правильно понял, его генерирует ajax запрос, но как не могу понять
     
  10. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Так посмотри исходник ajax-функции
     
    Кубик нравится это.
  11. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Нашёл вот такие строчки, но ещё не додумался что они значат
    Код (Text):
    1. var $urlAjax='/ajax_basket_index.php?_r='+ Math.random();var $urlAjaxUser='/ajax_index.php?_r='+ Math.random();
     
  12. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Если перейти по url на которые ajax отправляет запросы, там лежит файл "JSON" с текстом внутри
    Код (Text):
    1. {"status":"error","msg":"Неизвестная ошибка"}
     
  13. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Math.random() ничего не прояснил, рандом из чисел пробовал в первую очередь ещё 5 дней назад.
    Но скрипт отправляет туда данные и получает ответ.
     
  14. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    А возможно возможно что скрипт отправляет данные формы в куках ?
    В запросах из браузера, в куках есть все данные формы, и в исходнике есть что-то про куки.
     
  15. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @Кубик у тега form есть атрибут id и его значение "betslip_form", возможно где-то javascript ждёт когда у формы с id=betslip_form наступит событие submit (отправка формы) и это событие этот javascript код перехватывает, чтобы выполнить ajax запрос.
    Поищи в коде упоминание betslip_form попробую угадать, там будет указан css селектор #betslip_form
     
    Кубик нравится это.
  16. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    F12 -> Elements -> Event Listeners
    Там можно посмотреть, какой обработчик висит на форме и где он находится
     
    Кубик и denis01 нравится это.
  17. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    есть такая строчка, но что это даёт ?
    Код (Javascript):
    1. ;}).delegate('#betslip_form','submit',function(e){if(!is_click){var $bt=$(this).find('.submit_js');
     
  18. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    а мне лайк поставить? :D

    на счёт кода, дай кусок по больше, может этот промежуточную проверку делает, есть там ещё что-то с betslip_form?
     
  19. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Конечно всё дело в коде, нужно сидеть и разбирать, но не могу понять логически.
    Скрипт отправляет запросы, на:
    Код (Javascript):
    1. var $urlAjax='/ajax_basket_index.php?_r='+ Math.random();
    Но если самому с программы отправить туда запрос, придёт ответ "Неизвестная ошибка".
    Потому что по этому пути лежит файл "JSON" с текстом внутри:
    Код (Javascript):
    1. {"status":"error","msg":"Неизвестная ошибка"}
    весь обработчик txt http://my-files.ru/dnrlii
     
  20. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Нужно весь запрос посмотреть, например через fiddler или в google chrome -> F12 -> network -> нажать на запрос (ajax_basket_index.php) смотреть request headers и data/form вроде
    --- Добавлено ---
    Код (Javascript):
    1. var frm = $(document.F1).serializeArray();
    Вот только данные из document.F1 берутся + возможно cookie, данные отправляются через POST.
    F1 возможно это тег form c name="F1"

    Надо POST запрос делать как минимум
    --- Добавлено ---
    тот код что ты дал в файле, сложно читать, его можно пропустить через http://jsbeautifier.org/
     
    acho и Кубик нравится это.
  21. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Спасибо огромное, очень помогли, теперь думаю разберусь.
     
  22. Fell-x27

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

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Я один все еще не понимаю, что автор хочет добиться от чужого сайта, и как он это будет реализовывать? Код в исходничках сайта расширением править или что? Так это бесполезно ж. JS к тому времени уже скомпилен и крутится в маленькой уютненькой виртуальной машинке браузера.