我试图使用jquery发布到aweber。我有像这样的方法调用
$(function () {
$('#submit').click(function () {
$.post('http://www.aweber.com/scripts/addlead.pl',
{
meta_web_form_id: '12345',
meta_split_id: '',
listname: 'some_list',
redirect: '',
meta_redirect_onlist: '',
meta_adtracking: 'my_Web_Form',
meta_message: '1',
meta_required: 'name,email',
meta_forward_vars: '',
meta_tooltip: '',
email : 'test@happy.com',
name : 'tester testing'
},
function (data) {
alert('data load: ' + data);
});
});
});
它应该取得帖子的结果并在一个方框中提醒它。当我尝试手动使用表单时它可以工作,但重定向到'form-sorry.htm'页面,这很好,只是想知道是否有办法显示帖子的最终结果。我猜hte addlead.pl只是一个没有回复的帖子页面。
答案 0 :(得分:3)
您的$.post()
数据看起来没问题,但由于您将点击处理程序附加到提交按钮,因此表单仍会正常运行并重定向。数据也会同时通过$.post()
发送。
这里我使用jQuery .submit()
并动态获取名称和电子邮件值,以便在$.post()
方法中使用。然后我通过重置表单清除表单,向用户显示确认消息,并return false;
以阻止正常的表单功能。
要显示最终结果,您始终可以在alert(data);
之前return false;
,但它会显示为对象,因此您必须使用它。
您还可以查看Chrome开发工具中的网络标签,了解您的帖子和发送的数据。
希望这有帮助。
$('#form_id').submit(function() {
var nameVal = $('input[name="name"]').val();
var emailVal = $('input[name="email"]').val();
$.post('http://www.aweber.com/scripts/addlead.pl', {
meta_web_form_id: '123456789',
meta_split_id: '',
listname: 'listNameHere',
redirect: '',
meta_adtracking: 'newsletter',
meta_message: '1',
meta_required: 'name,email',
meta_tooltip: '',
name: nameVal,
email: emailVal
});
$('#form_id')[0].reset();
alert('Email sent!');
return false;
});