Веб-ссылки Zapier и AJAX-запросы

#javascript #ajax #zapier

#javascript #ajax #zapier

Вопрос:

Есть ли способ запуска веб-ссылок Zapier из клиентских приложений?

Кажется, я не могу выполнять успешные AJAX-запросы и всегда получать:

 XMLHttpRequest cannot load https://zapier.com/hooks/catch/..... 
The request was redirected to 'https://zapier.com/hooks/catch/..../', 
which is disallowed for cross-origin requests that require preflight. 
  

Ответ №1:

Ответ №2:

По состоянию на 15 января 2016 года Zapier не поддерживает перехватывание веб-хуков с помощью POST-запроса из браузера (из-за заголовков CORS, необходимых для предполетного запроса браузера).

Однако запрос GET со строковыми значениями запроса будет работать.

Комментарии:

1. Есть какой-нибудь документ с этой информацией?

2. Да, запрос GET разрешен в браузере. Кроме того, вы не должны включать специальные заголовки в заголовок запроса.

Ответ №3:

Zapier не поддерживает CORS. Способ, которым я заставил это работать, заключался в использовании изображения.

 var newImage = new Image();
newImage.src = "https://zapier.com/hooks/catch/myhook?param=one";
  

или

 <img height="0" width="0" src="https://zapier.com/hooks/catch/myhook?param=one">
  

Ответ №4:

Это работает для меня:

   try {
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "https://zapier.com/hooks/catch/myhook");
    xhr.send(JSON.stringify({data: "example"}));
    console.log("Pushed to Zapier successfully!");
  } catch(e) {
    console.error(e);
  }
  

Ответ №5:

Использование запроса на выборку без установки Content-Type также работает,

 const response = await fetch(
`https://hooks.zapier.com/hooks/catch/${code}/${code}`,
    {
  method: 'POST',
  body: JSON.stringify(payload)
    }
  

Ответ №6:

Потрясающая команда поддержки Zapier устранила проблему с CORS менее чем за 24 часа!

Слава Zapier!

Комментарии:

1. как они это исправили? У меня такая же проблема?

2. zapier.com/help/create/code-webhooks/…