首页 > 解决方案 > Axios 在 React 前端发帖导致发帖到 MailerLite 时出错

问题描述

我有以下组件:

const WaitingListComponent = () => {

  const [email, setEmail] = useState('')

  const onSubmit = (e) => {

    e.preventDefault()

    axios.post("/api/waiting-list/addToList", {
      email: email
    })
    }

  return (
    <form className="waiting-list-component-container" onSubmit={onSubmit}>
      <h4 className="waiting-list-component-heading">Join our waiting list to get early access</h4>
      <p className="waiting-list-component-paragraph">Join our waiting list to get exclusive early access to our platform when we're ready to launch.</p>
      <input className="waiting-list-component-input" name="email" type="email" value={email} onChange={(e) => setEmail(e.target.value)} placeholder="janedoe@email.com" />
      <GeneralButton type="submit" text="Get access" />
    </form>
  )
}

此 Axios 请求通过以下函数发布:

const MailerLite = require('mailerlite-api-v2-node').default;

const mailerLite = MailerLite(process.env.MAILER_API);

module.exports = (req, res) => {

  res.statusCode = 200;
  res.setHeader("Content-Type", "application/json");

  const email = req.body.email;

  mailerLite.addSubscriberToGroup(process.env.MAILER_GROUP, email)
  .then(() => {
    console.log("Successfully sent new subscriber to MailerLite.");
    res.send(JSON.stringify({ success: true }));
  })
  .catch((err) => {
    console.log("There was an error.");
    console.log(err);
    res.send(JSON.stringify({ success: false }));
  });

};

这是一个名为“MailerLite”的网站的帖子。

他们的文档在这里:https ://developers.mailerlite.com/docs/getting-started-with-mailerlite-api 我用来通过节点发布的包在这里:https ://www.npmjs.com/包/mailerlite-api-v2-node#addsubscribertogroupgroupid-subscriber

我正在尝试使用“addSubscriberToGroup”功能向我的群组添加新订阅者。

然而,尽管 Axios 帖子成功通过 - 如错误消息所示 - 每次都会生成错误。

我不想发布完整的错误,因为它很长并且包含 API 密钥,但最后两行表明它是 Axios 错误:

isAxiosError: 真

谁能指出我在这里出错的地方?

如果您需要更多信息或有任何具体问题,请告诉我!

标签: node.jsreactjsaxios

解决方案


问题可能是您需要将电子邮件作为对象发送。你可以这样做:addSubscriberToGroup('id', { email: email })


推荐阅读