我正试图在我的流星网站上为MailChimp建立一个通讯订阅。我想我已经完成了文档说的所有事情,但是当我点击submit按钮时,什么也不会发生。为什么?
这在我的html中:
<template name="MailChimpListSubscribe">
<section class="mailchimp">
<div class="row">
<form id="subscribe-footer" class="form-inline">
<input class="mailchimp-email form-control" type="email" placeholder="ADDRESS@EMAIL.COM" />
<button class="mailchimp-subscribe btn btn-success" type="button">SUBMIT</button>
<div class="message signup"><p>Sign up for our newsletter</p></div>
<label class="error-message"></label>
{{#if message}}
<div class="mailchimp-message message thankyou"><p>You will now receive emails from us</p></div>
{{/if}}
</form>
</div>
</section>
</template>在server/server.server中:
{
"private": {
"MailChimp": {
"apiKey": "myapikey",
"listId": "listid"
}
}
}在clien/js/mailchImist订阅.js中
Template.MailChimpListSubscribe.onRendered (function (){
jQuery(".message.signup").mouseenter(function(){
jQuery(this).addClass('disappear');
})
var template = this;
$( "#subscribe-footer" ).validate({
rules: {
emailAddress: {
email: true,
required : true
}
},
messages: {
emailAddress: {
email: "Please use a valid email address!",
required: "An email address is required."
}
},
errorPlacement: function( error, element ) {
$( ".error-message" ).text( error[0].innerText );
},
success: function( error ) {
$( ".error-message" ).text( error[0].innerText );
},
submitHandler: function() {
handleSubscriber({
email: template.find( "[name='emailAddress']" ).value,
action: 'subscribe'
});
}
});
}); 控制台错误:
handleSubscriber is not defined发布于 2015-11-16 04:54:52
请核实以下内容:
meteor add miro:mailchimp,没有任何错误。apiKey和listId除了这个,
尝试以更改的方式处理外部设置.(你的settings.js)
您必须创建一个文件名settings.json (而不是.js)
在根项目文件夹中(而不是在server文件夹中)
在这个文件中,您应该将您输入的代码放在server/settings.js中
然后,您必须使用命令启动流星应用程序:
meteor --settings=settings.json
--编辑-- (在您更改问题之后;)
handleSubscriber中创建了助手函数/client/modules/handle-subscriber.js。
请确保你的项目中有它。你遗漏的代码(从我前面提到的流星-厨师链接中处理)
handleSubscriber = function( subscriber ) {
Meteor.call( "handleSubscriber", subscriber, function( error, response ) {
// Handle error or response here.
});
};请验证您是否有他们为该项目安装的所有软件包。
在GitHub上的项目中,.meteor文件夹中有一个名为packages的文件,其中包含项目正在使用的所有包的列表。
这是该文件的内容:(您必须验证每个包是否已安装!)
# Meteor packages used by this project, one per line.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.
standard-app-packages
underscore
accounts-password
accounts-base
jquery
check
audit-argument-checks
iron:router
themeteorchef:jquery-validation
twbs:bootstrap
meteorhacks:npm
npm-container
themeteorchef:bert
meteorhacks:ssr
fourseven:scss
miro:mailchimp
browser-policy
reactive-var
fortawesome:fontawesomehttps://stackoverflow.com/questions/33727117
复制相似问题