- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我是 MailChimp 的新手,需要一些帮助。
使用他们的基本时事通讯注册表单...您只需将一些预先打包的 HTML 嵌入到您的页面中。然而,这个问题是点击提交重定向到 MailChimp 页面。 (我不想重定向到 MailChimp,我希望用户在点击提交后留在自己的网站上。)
它们提供了 API 和大量文档,但有用的示例几乎为零。 API 应该允许我与我的站点或应用程序进行完全集成。似乎当我在他们的文档中阅读适用于我的内容时,我单击链接以获取更多信息,但我最终还是原地打转。他们告诉您如何去做,但他们没有向您“展示”如何去做。
我可以获得一个 API key ,他们有大量的文档,以及一大堆包装器和插件...PHP、Drupal、Wordpress 等...
这里关于他们预打包解决方案的困惑是我只有一个常规的静态 HTML 页面,它不是 Wordpress、PHP 或 Drupal...所以我只是不知道从哪里开始...我不知道我什至不知道我应该使用 POST
还是 GET
。
我不是 API 的新手...我非常擅长让 Google Maps API 做任何我想做的事。但是,除了详细的文档外,Google 还提供了真实的工作示例,这就是我学习它的方式。在掌握 API 的细节之前,我只想先看看它的实际效果。
他们的在线文档中没有任何可靠的示例或教程,我想问的是如何使用他们的 API 创建最基本的 HTML 注册表单。
最佳答案
已编辑:
自发布此答案以来,MailChimp 已发布其 API 的第 2 版和第 3 版。从 2017 年开始,版本 3 将是唯一受支持的版本。一旦我有机会对其进行测试,我将更新 API 版本 3 的此答案。
As per notification at the top of this page,2016 年之后将不再支持所有先前版本的 API。
我的解决方案在后台使用 PHP 来处理 API,并使用 jQuery 来促进 Ajax。
1) 下载支持 API v3.0 的 PHP 包装器。在撰写本文时,最新的 MailChimp 文档中没有官方列出任何支持 v3.0 的内容,但 GitHub 上列出了几个,所以我选择了 this one 。
2) 使用您自己的 API key 和列表 ID 创建以下 PHP 文件 store-address.php
,然后将其放在与第一步中的包装器相同的目录中。请记住遵循包装器的文档,但它们看起来都与此非常相似。
<?php // for MailChimp API v3.0
include('MailChimp.php'); // path to API wrapper downloaded from GitHub
use \DrewM\MailChimp\MailChimp;
function storeAddress() {
$key = "xxxxxxxxxxxxxxx-us1";
$list_id = "xxxxxx";
$merge_vars = array(
'FNAME' => $_POST['fname'],
'LNAME' => $_POST['lname']
);
$mc = new MailChimp($key);
// add the email to your list
$result = $mc->post('/lists/'.$list_id.'/members', array(
'email_address' => $_POST['email'],
'merge_fields' => $merge_vars,
'status' => 'pending' // double opt-in
// 'status' => 'subscribed' // single opt-in
)
);
return json_encode($result);
}
// If being called via ajax, run the function, else fail
if ($_POST['ajax']) {
echo storeAddress(); // send the response back through Ajax
} else {
echo 'Method not allowed - please ensure JavaScript is enabled in this browser';
}
3) 创建您的 HTML/CSS/JavaScript(jQuery) 表单(不需要在 PHP 页面上,访问者永远不会看到后台正在使用 PHP。 )
响应采用 JSON 格式,因此您必须正确处理它。
这是我的 index.html
文件的样子:
<form id="signup" action="index.html" method="get">
First Name: <input type="text" name="fname" id="fname" />
Last Name: <input type="text" name="lname" id="lname" />
email Address (required): <input type="email" name="email" id="email" />
<input type="submit" id="SendButton" name="submit" value="Submit" />
</form>
<div id="message"></div>
<script src="jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#signup').submit(function() {
$("#message").html("Adding your email address...");
$.ajax({
url: 'inc/store-address.php', // proper url to your "store-address.php" file
type: 'POST', // <- IMPORTANT
data: $('#signup').serialize() + '&ajax=true',
success: function(msg) {
var message = $.parseJSON(msg),
result = '';
if (message.status === 'pending') { // success
result = 'Success! Please click the confirmation link that will be emailed to you shortly.';
} else { // error
result = 'Error: ' + message.detail;
}
$('#message').html(result); // display the message
}
});
return false;
});
});
</script>
(原始答案)
摸索了一段时间后,我找到了一个使用 PHP 示例和 jQuery 的网站。由此我能够使用包含基本注册表单的 jQuery 创建一个简单的 HTML 页面。 PHP 文件“隐藏”在后台,用户永远看不到它们,但 jQuery 仍然可以访问和使用。
1) 在此处下载 PHP 5 jQuery 示例...(编辑:链接已失效。但是,唯一重要的部分是 HERE 提供的 PHP 官方 API 包装器。)
http://apidocs.mailchimp.com/downloads/mcapi-simple-subscribe-jquery.zip
如果您只有 PHP 4,只需下载 MCAPI 1.2 版并替换上面相应的 MCAPI.class.php
文件。
http://apidocs.mailchimp.com/downloads/mailchimp-api-class-1-2.zip
2) 按照自述文件中的说明,将您的 API key 和列表 ID 添加到 store-address.php
文件的适当位置。
3) 您可能还想收集用户的姓名和/或其他信息。您必须使用相应的合并变量将数组添加到 store-address.php
文件。
这是我的 store-address.php
文件的样子,我还收集了名字、姓氏和电子邮件类型:
<?php
function storeAddress() {
require_once('MCAPI.class.php'); // same directory as store-address.php
// grab an API Key from http://admin.mailchimp.com/account/api/
$api = new MCAPI('123456789-us2');
$merge_vars = Array(
'EMAIL' => $_GET['email'],
'FNAME' => $_GET['fname'],
'LNAME' => $_GET['lname']
);
// grab your List's Unique Id by going to http://admin.mailchimp.com/lists/
// Click the "settings" link for the list - the Unique Id is at the bottom of that page.
$list_id = "123456a";
if ($api->listSubscribe($list_id, $_GET['email'], $merge_vars , $_GET['emailtype'])) {
// It worked!
return 'Success! Check your inbox or spam folder for a message containing a confirmation link.';
} else {
// An error ocurred, return error message
return '<b>Error:</b> ' . $api->errorMessage;
}
}
// If being called via ajax, autorun the function
if($_GET['ajax']) {
echo storeAddress();
}
4) 创建您的 HTML/CSS/jQuery 表单。它不需要位于 PHP 页面上。
这是我的 index.html
文件的样子:
<form id="signup" action="index.html" method="get">
First Name: <input type="text" name="fname" id="fname" />
Last Name: <input type="text" name="lname" id="lname" />
email Address (required): <input type="email" name="email" id="email" />
HTML: <input type="radio" name="emailtype" value="html" checked="checked" />
Text: <input type="radio" name="emailtype" value="text" />
<input type="submit" id="SendButton" name="submit" value="Submit" />
</form>
<div id="message"></div>
<script src="jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#signup').submit(function() {
$("#message").html("Adding your email address...");
$.ajax({
url: 'inc/store-address.php', // proper url to your "store-address.php" file
data: $('#signup').serialize() + '&ajax=true',
success: function(msg) {
$('#message').html(msg);
}
});
return false;
});
});
</script>
需要的部分...
index.html 构造如上或类似。使用 jQuery,外观和选项是无穷无尽的。
store-address.php 文件作为 PHP 示例的一部分下载到 Mailchimp 网站并使用您的 API KEY 和 LIST ID。您需要将其他可选字段添加到数组中。
MCAPI.class.php 从 Mailchimp 站点下载的文件(PHP 5 版本 1.3 或 PHP 4 版本 1.2)。将它放在与您的 store-address.php 相同的目录中,或者您必须更新 store-address.php 中的 url 路径以便它可以找到它。
关于html - 使用他们的 API 创建一个基本的 MailChimp 注册表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5025455/
我在网上搜索但没有找到任何合适的文章解释如何使用 javascript 使用 WCF 服务,尤其是 WebScriptEndpoint。 任何人都可以对此给出任何指导吗? 谢谢 最佳答案 这是一篇关于
我正在编写一个将运行 Linux 命令的 C 程序,例如: cat/etc/passwd | grep 列表 |剪切-c 1-5 我没有任何结果 *这里 parent 等待第一个 child (chi
所以我正在尝试处理文件上传,然后将该文件作为二进制文件存储到数据库中。在我存储它之后,我尝试在给定的 URL 上提供文件。我似乎找不到适合这里的方法。我需要使用数据库,因为我使用 Google 应用引
我正在尝试制作一个宏,将下面的公式添加到单元格中,然后将其拖到整个列中并在 H 列中复制相同的公式 我想在 F 和 H 列中输入公式的数据 Range("F1").formula = "=IF(ISE
问题类似于this one ,但我想使用 OperatorPrecedenceParser 解析带有函数应用程序的表达式在 FParsec . 这是我的 AST: type Expression =
我想通过使用 sequelize 和 node.js 将这个查询更改为代码取决于在哪里 select COUNT(gender) as genderCount from customers where
我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误: #/bin/bash var1=/tmp
这里,为什么我的代码在 IE 中不起作用。我的代码适用于所有浏览器。没有问题。但是当我在 IE 上运行我的项目时,它发现错误。 而且我的 jquery 类和 insertadjacentHTMl 也不
我正在尝试更改标签的innerHTML。我无权访问该表单,因此无法编辑 HTML。标签具有的唯一标识符是“for”属性。 这是输入和标签的结构:
我有一个页面,我可以在其中返回用户帖子,可以使用一些 jquery 代码对这些帖子进行即时评论,在发布新评论后,我在帖子下插入新评论以及删除 按钮。问题是 Delete 按钮在新插入的元素上不起作用,
我有一个大约有 20 列的“管道分隔”文件。我只想使用 sha1sum 散列第一列,它是一个数字,如帐号,并按原样返回其余列。 使用 awk 或 sed 执行此操作的最佳方法是什么? Accounti
我需要将以下内容插入到我的表中...我的用户表有五列 id、用户名、密码、名称、条目。 (我还没有提交任何东西到条目中,我稍后会使用 php 来做)但由于某种原因我不断收到这个错误:#1054 - U
所以我试图有一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下“。”而不是空格。 例如,如果我输入: 地球的 70% 是水,-!*#$^^ & 30% 土地 输
我正在尝试做一些我认为非常简单的事情,但出于某种原因我没有得到想要的结果?我是 javascript 的新手,但对 java 有经验,所以我相信我没有使用某种正确的规则。 这是一个获取输入值、检查选择
我想使用 angularjs 从 mysql 数据库加载数据。 这就是应用程序的工作原理;用户登录,他们的用户名存储在 cookie 中。该用户名显示在主页上 我想获取这个值并通过 angularjs
我正在使用 autoLayout,我想在 UITableViewCell 上放置一个 UIlabel,它应该始终位于单元格的右侧和右侧的中心。 这就是我想要实现的目标 所以在这里你可以看到我正在谈论的
我需要与 MySql 等效的 elasticsearch 查询。我的 sql 查询: SELECT DISTINCT t.product_id AS id FROM tbl_sup_price t
我正在实现代码以使用 JSON。 func setup() { if let flickrURL = NSURL(string: "https://api.flickr.com/
我尝试使用for循环声明变量,然后测试cols和rols是否相同。如果是,它将运行递归函数。但是,我在 javascript 中执行 do 时遇到问题。有人可以帮忙吗? 现在,在比较 col.1 和
我举了一个我正在处理的问题的简短示例。 HTML代码: 1 2 3 CSS 代码: .BB a:hover{ color: #000; } .BB > li:after {
我是一名优秀的程序员,十分优秀!