JQuery帖子没有在文档中工作但是在控制台中工作?

时间:2010-11-11 10:25:34

标签: ajax post jquery

我有一个页面需要使用$ .post()但是出于某种原因,当我从firebug控制台运行它而不是从我的脚本运行时,确切的代码是有效的吗?我的剧本是:

$(document).ready(function () {
    $('#dl_btn').click(function () {
        $.post(
            "news_csv.php",
            $("#dl_form").serialize(), function (data) {

            alert('error');

            if (data == 'success') {
                alert('Thanks for signing up to our newsletter');
                window.open("<?php echo $_GET['link']; ?>");
                parent.Shadowbox.close();
            } else {
                alert(data);
            }
        });
    });
});

这不是链接,因为它确实正确打印但它在jquery min的第140行给出了一个错误,我尝试使用不同版本的jquery但无济于事。我真的不明白为什么这不起作用。

当我从$ .post更改为$ .ajax并使用错误回调时,我确实收到错误'error'并且错误未定义?

不要以为任何人都有任何想法?非常感谢。

谢谢,

汤姆

1 个答案:

答案 0 :(得分:0)

您的点击按钮是否放在表单元素中?

因为这样做,点击它不仅会触发你绑定到的onClick事件,而且还会形成提交,因此你最终会遇到浏览器并行执行两个请求的情况 - 结果不可预测,当然。

我尝试使用不触发表单提交的元素使用相同的代码,并且按预期工作。

虽然有一点:如果你打算使用简单的字符串作为返回值并对它做一些事情(显示它),那么你现在可以做你现在做的事情。但是,如果您从ajax请求获得更复杂的响应,则应将响应类型(xml,json ..)指定为post方法的最后一个参数。

希望这有帮助。