在 Marketo 上调用 ajax 提交

call ajax on Marketo submit

我的要求

请提出一个解决方案来实现这个。

我试过的

为此,我尝试在点击 Marketo 提交时使用 ajax,但它不起作用, 它突然停止,甚至没有 return 到 Marketo 中指定的 ReturnURL。我试过的代码:

 <script src="//xxxxx.marketo.com/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm_1"></form>
<script>
MktoForms2.loadForm("//aqq-abc.marketo.com", "xxx-XXX-xxx", id1, function(form) {
    form.onSubmit(function(e) {e.preventDefault();

        var vals = form.vals();

        $.ajax({
          type: "POST", 
          url: "http://localhost:3422/wordpress/plugin/calculationFILE.php",
          data: {Value1:val["Email"],Value2: vals["Phone"]},
          success: function( data ) { alert(data); },
          error:  function( err ) {alert("Some thing went wrong! Please try again with your values.");}
        }); //ajax call end

        alert("OK after ajax"); //========>THIS IS NOT CALLED-but if ajax statement removed this alert fires. 
      });//OnSubmit end
});//loadForm End

编辑

我已经在上面包含了 e.preventDefault(),现在 code.I 仍然无法看到 ajax 调用正在执行。 我需要包含 jQuery 才能完成这项工作吗? 我在这里缺少什么。 您对解决方案的建议将对前进有很大帮助。

我必须包含 jQuery 库才能进行 ajax 调用。之后它识别了 ajax 调用。完整的工作片段是

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="//xxxxx.marketo.com/js/forms2/js/forms2.min.js"></script>
<form id="mktoForm_1"></form>
<script>
MktoForms2.loadForm("//aqq-abc.marketo.com", "xxx-XXX-xxx", id1, function(form) {
    form.onSubmit(function() {

        var vals = form.vals();

        $.ajax({
                    type: "POST", 
                    url: "http://localhost:3422/wordpress/wp-content/plugins/calM/new_generate.php",
                data: {Value1:vals.Email,Value2: vals.Phone},
        success: function( data ) {
                    alert(data);

        },
        error:  function( err ) {alert("Some thing went wrong! Please try again with your values.");}
        });

      });
});