javascript - 如何在 Javascript/Typescript 中使用 Storyblok 电子邮件服务?

标签 javascript email typescript content-management-system storyblok

我已经包含了storyblok对象和serializeArray函数:

import { serializeArray } from '../utils';
import { storyblok } from '../shims/Storyblok';

现在我想将表单数据传递给 sendEmail 函数。它是如何工作的?

submit(event:Event) {
    event.preventDefault();
    let formData = serializeArray(<HTMLFormElement> this.$());

    // what to do here?

    storyblok.sendEmail(message,
        // success
        function(data:any) {
            console.log(data);
            console.log('success');
        },
        // error
        function(data:any) {
            console.log(data);
            console.log('error');
        }
    )
}

最佳答案

Storyblok联系表单 API 允许您传递以下格式的参数:

var message = {};
message['message[email]'] = 'Valid Email goes here'; // assign your email field here
message['message[body]']  = 'This is my Message'; // assign your message field here

这 2 个字段(emailbody)是必需的 - 您可以向 API 传递任意数量的参数。

您可以使用以下 cURL 请求直接尝试您的请求

curl 'https://api.storyblok.com/v1/messages?token={{YOUR_TOKEN}}' 
-H 'pragma: no-cache' 
-H 'origin: {{YOUR_SPACE_DOMAIN}}' 
-H 'accept-encoding: gzip, deflate, br' 
-H 'x-requested-with: XMLHttpRequest' 
-H 'accept-language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4,hr;q=0.2,el;q=0.2,bg;q=0.2,sr;q=0.2,fr;q=0.2,sq;q=0.2' 
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36' 
-H 'content-type: application/x-www-form-urlencoded' 
-H 'accept: */*' 
-H 'cache-control: no-cache' 
-H 'authority: api.storyblok.com' 
-H 'referer: {{YOUR_SPACE_DOMAIN}}' --data 'message%5Bemail%5D=test%40test.test&message%5Bbody%5D=yourMessageGoesHere' --compressed

关于javascript - 如何在 Javascript/Typescript 中使用 Storyblok 电子邮件服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41978157/

相关文章:

c# - 如何使用 C# 从 DIV 中抓取图像

vba - 使用 VBA 从 Excel 工作表发送多个附件

javascript - 有没有办法只与特定邮件收件人共享链接?

postgresql - 从 TypeORM docker 容器连接 PostgreSQL

javascript - 哈希标签链接不重叠响应式 float 标题 CSS

javascript - 为什么 e.stopPropagation() 不起作用?

javascript - 即时选择 AuthGuard 类型

javascript - TypeScript 非侵入式方式 : Can I use typescript with definition files only (and normal js files)?

javascript - 在 JQuery 中删除字符串的第一个字符在 dom 中重复

javascript - 使用 JS 获取正确的占位符颜色