将提交时块的内容替换为json对象的内容

将提交时块的内容替换为json对象的内容,json,twig,yaml,mailchimp,Json,Twig,Yaml,Mailchimp,我正在尝试将自定义mailchimp表单嵌入小树枝,这样当用户单击提交按钮时,mailchimp的响应将替换div中的内容 我使用的是Gantry5,我已经成功地实现了表单,当用户单击submit按钮时,我从mailchimp服务器得到响应 我遇到的问题是,它不是替换块中的内容,而是刷新页面,然后以原始格式显示json对象 细枝如下: {% extends '@nucleus/partials/particle.html.twig' %} {% block particle %} {%

我正在尝试将自定义mailchimp表单嵌入
小树枝
,这样当用户单击
提交
按钮时,mailchimp的响应将替换div中的内容

我使用的是Gantry5,我已经成功地实现了表单,当用户单击submit按钮时,我从mailchimp服务器得到响应

我遇到的问题是,它不是替换块中的内容,而是刷新页面,然后以原始格式显示json对象

细枝
如下:

{% extends '@nucleus/partials/particle.html.twig' %}

{% block particle %}

  {% if particle.title %}<h2 class="g-title">{{ particle.title|raw }}</h2>{% endif %}

  {% if particle.headtext %}<div class="g-newsletter-headtext">{{ particle.headtext|raw }}</div>{% endif %}

    <div id="mc_embed_signup" class="g-newsletter {{ particle.class|e }}">

      <form class="g-newsletter-form validate" id="mailchimp-subscribe" action="//{{ particle.baseurl|e }}" method="POST">

        <input type="hidden" name="u" value="{{ particle.uuid|e }}">
        <input type="hidden" name="id" value="{{ particle.lid|e }}">

        <div id="mergeTable" class="mergeTable">
          <label for="MERGE0">Email Address <span class="req asterisk">*</span></label>
          <input class="g-newsletter-inputbox required email" type="email" autocapitalize="off" autocorrect="off" name="MERGE0" id="MERGE0" size="25" value="" placeholder="{{ particle.inputboxtext|raw }}">
          <input type="submit" value="{{ particle.buttontext|raw }}" name="submit" id="mc-embedded-subscribe" class="g-newsletter-button button {{ particle.buttonclass|e }}">
        </div>

        <input type="hidden" name="ht" value="{{ particle.htvalue|raw }}">
        <input type="hidden" name="mc_signupsource" value="hosted">

      </form>
    </div>

<script src="/javascripts/application.js" type="text/javascript" charset="utf-8" async defer>
  $('#mailchimp-subscribe').submit(function(e) {
    var $this = $(this);
    $.ajax({
        type: "GET", // GET & url for json slightly different
        url: "//{{ particle.baseurl|e }}-json?c=?",
        data: $this.serialize(),
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        error: function(err) { alert("Could not connect to the registration server."); },
        success: function(data) {
            if (data.result != "success") {
                // Something went wrong, parse data.msg string and display message
            } else {
                // It worked, so hide form and display thank-you message.
            }
        }
    });
    return false;
  });
</script>
{% endblock %}
{"result":"success","msg":"Almost finished... We need to confirm your email address. To complete the subscription process, please click the link in the email we just sent you."}
我要做的是用格式化响应替换块中的内容,或者在模式中打开格式化响应

我尝试将
data uk lightbox data lightbox type=“iframe”
添加到
按钮(我正在使用UIKit)中,打开了一个模式,但我只得到一个
加载
指示器,该指示器永远不会刷新,即使是未格式化的json响应

请告知。

您试过这个吗

e.preventDefault()