Как отправить данные POST в форму Mautic - PullRequest
0 голосов
/ 07 мая 2019

У меня проблемы при попытке отправить данные через POST в форму, зарегистрированную в Mautic.

Моя идея состоит в том, что из ионного приложения я могу отправлять данные, собранные из формы, в mautic, но всегда выдает ту же ошибку, когда я выполняю POST из кода (поскольку почтальон работает правильно). Я отлаживаю ошибки, я показываю их ниже:

Ошибки, которые появляются у меня в консоли Chrome

POST https://mautic.mydomain.com/form/submit?formId=1 400

Ошибки, которые появляются в логическом журнале

mautic.ERROR: необработанное исключение PHP Symfony \ Component \ HttpKernel \ Exception \ BadRequestHttpException: «получено неверное сообщение json» в /var/www/vhosts/mydomain.com/mautic/vendor/friendsofsymfony/rest-bundle/OS RestBundle / EventListener /BodyListener.php строка 127 {"исключение": "[объект] (Symfony \ Component \ HttpKernel \ Exception \ BadRequestHttpException (код: 0): неверное сообщение json, полученное на /var/www/vhosts/mydomain.com/ mautic / vendor /friendsofsymfony/rest-bundle/FOS/RestBundle/EventListener/BodyListener.php:127) "} []

От Почтальона формат данных, который работает, таков:

 { "mauticform": {"nombre":"Alberto", "formId": 1} }

Тесты, которые я сделал:

  • Я определил заголовки, чтобы на сервере не было проблем с CORS
  • Я также проверил, что форма активна и что имя поля - «Имя»
  • Я пытался передать ему объект без кавычек
  • Я пытался передать значения без ключа "mauticform"

Это пример кода, который отправляет запрос в mautic

sendToMautic(){
    const url = 'https://mautic.mydomain.com/form/submit?formId=1';

    let datos = {
      "mauticform": {"nombre":"Alberto", "formId": "1"}
    }

    this.http.post(url, datos, {
      'Accept': 'application/json',
      'Content-Type': 'application/json',
    })
    .then(data => {

      console.log('ok', data);

    })
    .catch(error => {

      console.log('Error', error);

    });

  }
...