如何将POST数据发送到Mautic表单

时间:2019-05-07 13:30:58

标签: angular ionic-framework post mautic

尝试通过POST将数据发送到Mautic中注册的表单时遇到问题。

我的想法是,从离子应用程序可以将从表单收集的数据发送到mautic,但是当我从代码执行POST时,它总是给我同样的错误(因为postman正常工作)。我正在调试错误,下面显示了它们:

Chrome控制台中显示给我的错误

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

流动日志中出现的错误

mautic.ERROR:未捕获的PHP异常Symfony \组件\ HttpKernel \异常\ BadRequestHttpException:在/var/www/vhosts/mydomain.com/mautic/vendor/friendsofsymfony/rest-bundle/FOS/中的“收到无效的JSON消息” RestBundle / EventListener /BodyListener.php第127行{“ exception”:“ [对象](Symfony \组件\ HttpKernel \ Exception \ BadRequestHttpException(代码:0):在/var/www/vhosts/mydomain.com/上收到的无效json消息mautic /供应商/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);

    });

  }

0 个答案:

没有答案