jQuery $ .get问题

时间:2009-10-16 15:16:28

标签: jquery

我对以下问题感到有些困惑,我担心解决方案太明显但我不再看到了。问题,这个jQuery代码是如何工作的:

$(document).ready(function() {     
    var q = $(".box").val();     
    $.get("db.php", {searchterm: "test", type: "search", time: "2pm" },
        function(twitter){  
             var tweets = JSON.parse(twitter);
        }
    );

但如果我将其作为点击事件的一部分,那么它将无效:

$(document).ready(function() {     
    $(".btn").click(function() {      
    var q = $(".box").val();     
    $.get("db.php", { searchterm: "test", type: "search", time: "2pm" },
        function(twitter){
            var tweets = JSON.parse(twitter);
         }
    );   
});

当然,我的html页面确实有一个类名为“btn”的按钮

Firebug在jQuery中闪烁错误消息,但立即重置控制台,因此我无法从日志中读取或复制错误。有什么建议?

3 个答案:

答案 0 :(得分:3)

也许您只需要点击处理程序中的return false;

$(document).ready(function() {
    $(".btn").click(function() {
        var q = $(".box").val();
        $.get("db.php", { searchterm: "test", type: "search", time: "2pm" }, function(twitter){ var tweets = JSON.parse(twitter); });
        return false;
    });
});

这将阻止链接的默认操作 - 即导航到URL。

答案 1 :(得分:0)

您错过了结束});

$(document).ready(function() {     
    $(".btn").click(function() {      
        var q = $(".box").val();     
        $.get("db.php", {searchterm: "test", type: "search", time: "2pm"}, function(twitter){
            var tweets = JSON.parse(twitter);
        });
        return false;
    });   
});

返回false也是一个不错的选择(信用@Greg)。

答案 2 :(得分:0)

@ cballou回答了你的问题,但BTW,即使Firebug在闪烁错误后变为空白,你也可以通过打开Firefox的默认错误控制台( Ctrl + Shift + J 工具>错误控制台)。