用jQuery发布到aweber

时间:2010-04-14 17:52:07

标签: jquery

我试图使用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只是一个没有回复的帖子页面。

1 个答案:

答案 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;
});