在 Marketo 上调用 ajax 提交
call ajax on Marketo submit
我的要求
- 在 wordpress 插件中,我需要包含一个 Marketo 脚本
- 在提交 Marketo 表单时,我需要使用 Marketo 表单元素进行一些计算
- 在页面上显示结果
请提出一个解决方案来实现这个。
我试过的
为此,我尝试在点击 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
- 我将所有计算放在文件中 calculationFILE.php
- 警报("OK after ajax"); //===>THIS IS NOT CALLED-but if ajax statement removed this alert fires.
编辑
我已经在上面包含了 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.");}
});
});
});
我的要求
- 在 wordpress 插件中,我需要包含一个 Marketo 脚本
- 在提交 Marketo 表单时,我需要使用 Marketo 表单元素进行一些计算
- 在页面上显示结果
请提出一个解决方案来实现这个。
我试过的
为此,我尝试在点击 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
- 我将所有计算放在文件中 calculationFILE.php
- 警报("OK after ajax"); //===>THIS IS NOT CALLED-but if ajax statement removed this alert fires.
编辑
我已经在上面包含了 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.");}
});
});
});