Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Перехват всех POST отправок с форм через js? (https://javascript.ru/forum/events/74378-perekhvat-vsekh-post-otpravok-s-form-cherez-js.html)

readymans 05.07.2018 10:53

Перехват всех POST отправок с форм через js?
 
Здравствуйте. На сайте есть формы, как обычные с POST отправкой напрямую, так и Ajax без перезагрузки страницы.

В конец такого сайта надо поставить js, который бы отлавливал любую отправку форму и данные передавал на php файл другого сайта. Напрямую привязываться к селектору отправщика нельзя, так как он может быть неизвестным. Заранее будет неизвестно ни число форм, ни их тип.

Возможно для этого надо как-то использовать XMLHttpRequest? - Но для меня это темный лес, с ним не работал.

Скажите, как такое реализовать. Есть ли примеры?

Сейчас на таком этапе:

Отлавливать обычные формы не на ajax легко, но если есть ajax форма, которая отправляет так:

$.ajax({
url: $(this).closest('form').attr('action'),
type: "POST",
processData: false,
contentType: false,
data: data,
dataType: "json"
});

Я не имею право внедрять свой код внутри нее - такое задание. Нужно после этого кода написать отдельный скрипт, который бы смог отловить данные этого ajax. Пока дошел только до этого:

$( document ).ajaxSend(function( event, request, settings ) {
console.log( request );
});

- и он действительно показывает, что был выполнен запрос ajax запрос, если форму отправим, но не знаю, как вытащить отсюда responseText и statusCode - может вы знаете?

Nexus 05.07.2018 11:12

Вы хотите написать скрипт, который будет воровать пользовательские данные?

xShift 05.07.2018 11:55

Хацкер :)

readymans 06.07.2018 03:08

Цитата:

Сообщение от Nexus (Сообщение 489057)
Вы хотите написать скрипт, который будет воровать пользовательские данные?

Нет сайты будут свои, просто их более 30 и чтобы каждую форму не искать/переписывать хочется сделать все одним скриптом

Nexus 06.07.2018 09:24

readymans, если сайты свои, то не проще все это на сервере делать?


Часовой пояс GMT +3, время: 14:42.