2010-04-14 48 views
0

我试图张贴到只使用jquery的aweber。我有一个像这样的方法调用张贴到jweber与weweber

$(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 : '[email protected]', 
        name : 'tester testing' 
       }, 
       function (data) { 
        alert('data load: ' + data); 
       }); 
      }); 
     }); 

它应该采取帖子的结果并在一个盒子中提醒它。当我尝试手动使用表单工作,但将我重定向到'form-sorry.htm'页面,这很好,只是想知道是否有方法显示帖子的最终结果。我猜测hte addlead.pl只是一个没有回应的发帖页面。

+0

我认为你的代码没有在www.aweber.com上运行? – 2010-04-14 17:57:58

回答

3

您的$.post()数据看起来不错,但由于您将点击处理程序附加到您的提交按钮,表单仍然可以正常运行并重定向。数据也同时通过$.post()发送。

这里我使用jQuery .submit()并动态地获取名称和电子邮件值,以便在$.post()方法中使用。然后我通过重置它来清除表单,向用户显示一条确认消息,然后return false;阻止正常的表单功能。

为了显示最终结果,您始终可以在return false;之前执行alert(data);,但它会显示为对象,因此您必须使用该对象。

您还可以在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; 
});