Я пытаюсь захватить значения полей ввода формы и отправить их при отправке формы в конечную точку стороннего API с помощью Диспетчера тегов Google.
Что я сделал на данный момент:
Мне удалось определить переменные уровня данных, чтобы я мог видеть нужные входные данные поля формы на уровне данных после отправки формы. В режиме предварительного просмотра это выглядит так:
dataLayer.push({event: "gtm.formSubmit", ...})
Чего мне еще не хватает?
Теперь, когда значения находятся на уровне данных, мне нужно отправить их в конечную точку REST API.
Как я могу добиться этого с помощью пользовательского тега HTML?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете просто создать собственный тег HTML и поместить код ниже.
Но вам нужно изменить некоторую его часть.
<script>
(function(){
try {
var dlvEmail = {{dlv - contact form email}};
var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; // Regular expression for basic email validation
if (dlvEmail && emailRegex.test(dlvEmail)) {
var xhr = new XMLHttpRequest();
var endpoint = 'https://example.com/api';
// modify to the API endpoint you need
xhr.open('POST', endpoint, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify({ key: dlvEmail }));
// change the key to the API document need.
} else {
console.error('Invalid email format');
}
} catch (error) {
console.error('An error occurred during the request:', error);
}
})();
</script>
Потом можно проверить, все ли работает. Вы можете удалить console.info из кода, чтобы не прерывать консоль.
Если для документа API требуется дополнительная проверка подлинности.
Вы можете просто изменить код или проверить, как xhr может реализовать аутентификацию.