首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流星: MailChimp订阅

流星: MailChimp订阅
EN

Stack Overflow用户
提问于 2015-11-16 01:12:17
回答 1查看 311关注 0票数 0

我正试图在我的流星网站上为MailChimp建立一个通讯订阅。我想我已经完成了文档说的所有事情,但是当我点击submit按钮时,什么也不会发生。为什么?

这在我的html中:

代码语言:javascript
复制
<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中:

代码语言:javascript
复制
{
    "private": {
        "MailChimp": {
            "apiKey": "myapikey",
            "listId": "listid"
        }
    }
}

在clien/js/mailchImist订阅.js中

代码语言:javascript
复制
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'
      });
    }
  });


});   

控制台错误:

代码语言:javascript
复制
handleSubscriber is not defined
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-16 04:54:52

请核实以下内容:

  • 您确实安装了包meteor add miro:mailchimp,没有任何错误。
  • 控制台上没有任何错误消息
  • 你在mailchimp有一个有效的帐户
  • 您输入了正确的apiKeylistId

除了这个,

尝试以更改的方式处理外部设置.(你的settings.js)

您必须创建一个文件名settings.json (而不是.js)

在根项目文件夹中(而不是在server文件夹中)

在这个文件中,您应该将您输入的代码放在server/settings.js

然后,您必须使用命令启动流星应用程序:

meteor --settings=settings.json

--编辑-- (在您更改问题之后;)

  1. 我想您正在尝试在:https://themeteorchef.com/recipes/mailing-lists-with-mailchimp/上学习本教程
  2. 在本教程中,他们在文件handleSubscriber中创建了助手函数/client/modules/handle-subscriber.js。 请确保你的项目中有它。
  3. 所有的项目代码都可以在:https://github.com/themeteorchef/mailing-lists-with-mailchimp上获得,您可以下载它,播放它,然后将它集成到您的项目中。 这个项目有一个来自同一个URL的演示

你遗漏的代码(从我前面提到的流星-厨师链接中处理)

代码语言:javascript
复制
handleSubscriber = function( subscriber ) {
     Meteor.call( "handleSubscriber", subscriber, function( error, response ) {
         // Handle error or response here.
     });
};

请验证您是否有他们为该项目安装的所有软件包。

在GitHub上的项目中,.meteor文件夹中有一个名为packages的文件,其中包含项目正在使用的所有包的列表。

这是该文件的内容:(您必须验证每个包是否已安装!)

代码语言:javascript
复制
# 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:fontawesome
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33727117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档