2010-01-19 61 views
1

我寫了一些使用jQuery的代碼來使用Ajax從另一個WebForm獲取數據,並且它工作正常。我將代碼複製到另一個項目,但它不能正常工作。當單擊一個類成員時,它會給我輸入ID的ProductID,但它不會從$ .get中提示數據。我設置的測試頁面(/Products/Ajax/Default.aspx)僅返回文本「TESTING ...」。我在IE中安裝了Web Development Helper,它顯示請求正在進入測試頁面,並且狀態爲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" /> 

回答

3

最簡單的方法是告訴jQuery不要返回任何東西。

$(".addtocart_a").click(function(e){ 

    // REST OF FUNCTION 

    return false; 
}); 

祝你好運!如果你需要其他東西,請告訴我。

+1

這確實奏效!這也工作:e.preventDefault();爲什麼我在最後一個項目中不必這樣做? – 2010-01-19 16:30:39

+0

非常好!很高興聽到它,很高興知道:) – ewakened 2010-01-19 17:21:02