代码之家  ›  专栏  ›  技术社区  ›  DrDee

jQuery$.get问题

  •  0
  • DrDee  · 技术社区  · 17 年前

    我对以下问题有点困惑,恐怕解决方案太明显了,但我再也看不到了。问题,这个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);
             }
        );   
    });
    

    3 回复  |  直到 17 年前
        1
  •  3
  •   Greg    17 年前

    也许你只是需要 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。

        2
  •  0
  •   Corey Ballou    17 年前

    你错过了闭幕式 });

    $(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;
        });   
    });
    

    return false也是一个不错的选择(credit@Greg)。

        3
  •  0
  •   Prem    17 年前

    @cballou已经回答了你的问题,但顺便说一句,即使Firebug在闪烁错误后变为空白,你也可以通过打开Firefox的默认错误控制台来检索错误( Ctrl+Shift+J 或 工具>错误控制台 ).