我有一个反应应用程序,我想添加mailchimp注册表单.我正在构建一个自定义注册表单,并通过输入他们的姓名和电子邮件让用户注册.我不是在处理任何竞选活动.我想要实现的是,一旦他们注册,他们会收到一封确认订阅的电子邮件.
我已经完成了mailchimp指南http://kb.mailchimp.com/lists/signup-forms/host-your-own-signup-forms中的内容,但它总是给我500错误.
这是send事件的代码
subscribe(event) {
event.preventDefault();
axios({
url: 'https://xxxxxx.us15.list-manage.com/subscribe/post',
method: 'post',
data: this.state,
dataType: 'json'
})
.then(() => {
console.log('success');
});
}
Run Code Online (Sandbox Code Playgroud)
这是表格
<form onSubmit={this.subscribe.bind(this)}>
<input type="hidden" name="u" value="xxxxxxxxxxx" />
<input type="hidden" name="id" value="xxxxxxxxxxx" />
<label>First Name</label>
<input name="FNAME" type="text" onChange={this.handler.bind(this, 'FNAME')} required="true"/>
<label>Last Name</label>
<input name="LNAME" type="text" onChange={this.handler.bind(this, 'LNAME')} required="true"/>
<label>Email</label>
<input name="EMAIL" type="email" onChange={this.handler.bind(this, 'EMAIL')} required="true"/>
<button type="submit" name="submit">Subscribe</button>
</form>
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个链接AJAX Mailchimp注册表单集成的建议
基本上将u和id与url一起传递而不是在表单中输入.但那也不起作用.
任何人都知道如何使这项工作?谢谢!!
我试图用Jest而不是传统的Jasmine和Karma来测试我的Ionic应用程序.我可以运行简单的测试
expect(1).toEqual(1)
Run Code Online (Sandbox Code Playgroud)
并且测试通过没有问题.
我遇到的问题是测试服务.我有类似的东西
expect(CalculatorService).toBeDefined();
Run Code Online (Sandbox Code Playgroud)
并且测试结果将传递,表明服务已定义.但是当我试图调用CalculatorService的方法时
expect(CalculatorService.add(1,1).toEqual(2)
Run Code Online (Sandbox Code Playgroud)
结果是
"TypeError: CalculatorService.add is not a function"
Run Code Online (Sandbox Code Playgroud)
我知道Jasmine&Karma需要注入服务.但我不知道Jest的等价物是什么.
有人可以解释一下吗?
javascript ×2
ajax ×1
angularjs ×1
jestjs ×1
mailchimp ×1
newsletter ×1
reactjs ×1
unit-testing ×1