在.live()中调用.post()

时间:2012-02-27 13:45:01

标签: jquery ajax

我正在通过ajax加载一些内容,并使用.live来生成刚加载的提交按钮。在这个.live-call里面,我想做一个.post-call。这不起作用。如果我在此.post-call之前发出警报(...),警报就会起作用。

在live()中调用.post()是否存在黑客攻击?据我了解,以下代码不会调用.post调用。是否有任何黑客可以使这项工作。

$('#addeventsubmit').live("click", function(){

        $.post('url...', {data:...},
            function(data){
                alert("test");
            }, 'json');
    });

编辑:我不是要提交表单。我点击按钮,并在这里和那里得到一些值,我将其包装成一个数组,并通过.post发送。我确实尝试用.ajax做,这似乎是解决方案。

3 个答案:

答案 0 :(得分:0)

你确定你的json有效吗?打开firebug中的网络标签(或任何你使用的)并检查返回。

此外,您的代码中还不清楚您是否正在使用{data:}然后实际指定数据元素。我怀疑你是,但这应该是一个对象,jquery将序列化并发布到网址。

答案 1 :(得分:0)

帖子没有任何问题,您需要从点击处理程序返回false以防止默认浏览器提交表单

答案 2 :(得分:0)

您必须在表单提交中添加return false;

pre jQuery 1.7(使用live(...)):

$('#formID').live('submit', function(){return false;});

发布jQuery 1.7(使用on(...)):

$(document).on('submit', '#formID', function(){return false;});