代码之家  ›  专栏  ›  技术社区  ›  Jeremy Sullivan

jquery$.get刷新页面而不是提供数据

  •  1
  • Jeremy Sullivan  · 技术社区  · 15 年前

    我已经用jquery编写了一些代码,使用ajax从另一个web表单获取数据,它工作得很好。我正在将代码复制到另一个项目,但它无法正常工作。单击某个类成员时,它将向我提供连接到输入ID的productID,但它从不通知来自$.get的数据。我设置的测试页(/products/ajax/default.aspx)只返回文本“testing…”。我在IE中安装了WebDevelopmentHelper,它显示请求正在进入测试页,状态为200,返回文本正确。但是,jquery会在显示我请求的数据之前刷新我的调用页。下面是我页面中的代码片段。请告诉我是否还有其他代码块需要您查看。谢谢您!

     <script type="text/javascript">
            $(document).ready(function() {
                $(".addtocart_a").click(function() {
    
                    var sProdIDFileID = $(this).attr("id");
                    var aProdIDFileID = sProdIDFileID.split("_");
                    var sProdID = aProdIDFileID[5];
                    // *** This alert shows fine -- ProdID: 7
                    alert("ProdID: " + sProdID);
    
                    $.get("/Products/Ajax/Default.aspx", { test: "yes" }, function(data) {
                        // *** This alert never gets displayed
                        alert("Data Loaded: " + data);
                    }, "text");
                });
            });    
        </script>
    
    <input src="/images/add_to_cart.png" name="ctl00$ctl00$ContentPlaceHolder1$ContentPlaceHolder1$aAddToCart_7" type="image" id="ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_aAddToCart_7" class="addtocart_a" />
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   neofetter    15 年前

    最简单的方法是告诉jquery不要返回任何内容。

    $(".addtocart_a").click(function(e){
    
      // REST OF FUNCTION
    
      return false;
    });
    

    祝你好运!如果你还需要什么,告诉我。