gpt4 book ai didi

javascript - 提交 mailchimp subscribe php 后我有一个空白页面

转载 作者:行者123 更新时间:2023-12-03 07:40:11 25 4
gpt4 key购买 nike

我使用下面的 html 代码通过 mailchimp API 在我的 mailchimp 帐户列表中提交用户电子邮件。

表单代码:

    .....

<form id="signup-form" action="php/newsletter-subscribe.php" method="post">
<input type="email" name="email" id="email" placeholder="Email Address" />
<br>
<input type="submit" value="Go!" onclick="wating()" />
</form>

......

新闻通讯订阅 PHP 代码:

require_once 'mailchimp/MailChimp.php';
use \DrewM\MailChimp\MailChimp;

// Email address verification
function isEmail($email) {
return filter_var($email, FILTER_VALIDATE_EMAIL);
}

if($_POST) {
$mailchimp_api_key = 'xxxxxxxxxxxxxxxxxxxxx-xx'; // enter your MailChimp API Key
$mailchimp_list_id = 'xxxxxxxxxx'; // enter your MailChimp List ID

$subscriber_email = addslashes( trim( $_POST['email'] ) );
if( !isEmail($subscriber_email) ) {
echo '<script type="text/javascript">swal("Error!", "Please try again.", "error")</script>';
} else {
$array = array();
$MailChimp = new MailChimp($mailchimp_api_key);
$result = $MailChimp->post("lists/$mailchimp_list_id/members", [
'email_address' => $subscriber_email,
'status' => 'subscribed',
]);

if($result == false) {
$array = '<script type="text/javascript">swal("Error!", "Please try again.", "error")</script>';
} else {
$array = '<script type="text/javascript">swal("Great!", "Your email has been subscribed", "success")</script>';
}
echo json_encode($array);
}
}

问题是在我提交表单后,我得到空白页,没有任何错误日志,并且电子邮件添加到我的 mailchimp 帐户中没有任何错误。

我尝试使用另一个 java 脚本警报(如 alert("Text Here");)更改第 22、35 和 38 行中的 echo javascript,它可以工作,除了我得到同样的东西空白页

如何解决这个问题并在同一个 html 表单页面中回显 javascript 警报而不重定向到空白页面?

最佳答案

首先您要设置:

$array = array();

但是稍后,您会:

    if($result == false) {
$array = '<script type="text/javascript">swal("Error!", "Please try again.", "error")</script>';
} else {
$array = '<script type="text/javascript">swal("Great!", "Your email has been subscribed", "success")</script>';
}
echo json_encode($array);

换句话说,您正在将数组更改为字符串。尝试将代码更改为:

    if($result == false) {
$array = array('<script type="text/javascript">swal("Error!", "Please try again.", "error")</script>');
} else {
$array = array('<script type="text/javascript">swal("Great!", "Your email has been subscribed", "success")</script>');
}
echo json_encode($array);

此外,我会避免使用 <script type="text/javascript">在那里我只会返回一个正确的 json 响应。然后,您使用 ajax (jquery) 调用此文件,解码 json 并显示警报。

也许这样的事情会给你一个想法: http://labs.jonsuh.com/jquery-ajax-php-json/

关于javascript - 提交 mailchimp subscribe php 后我有一个空白页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35443356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com