尝试通过 POST 将数据发送到在 Mautic 中注册的表单时遇到问题。
我的想法是,从离子应用程序中,我可以将从表单收集的数据发送到 mautic,但是当我从代码执行 POST 时,它总是给我同样的错误(因为邮递员工作正常)。我正在调试错误,我在下面显示它们:
Chrome 控制台中出现的错误
发布https://mautic.mydomain.com/form/submit?formId=1 400
mautic 日志中出现的错误
mautic.ERROR: Uncaught PHP Exception Symfony \ Component \ HttpKernel \ Exception \ BadRequestHttpException: "Invalid json message received" at /var/www/vhosts/mydomain.com/mautic/vendor/friendsofsymfony/rest-bundle/FOS/RestBundle/EventListener /BodyListener.php line 127 {"exception": "[object] (Symfony \ Component \ HttpKernel \ Exception \ BadRequestHttpException (code: 0): 在/var/www/vhosts/mydomain.com/mautic/vendor收到无效的json消息/friendsofsymfony/rest-bundle/FOS/RestBundle/EventListener/BodyListener.php:127) "} []
来自 Postman 的数据格式是这样的:
{ "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);
});
}