2010-01-19 4 views
1

jQuery를 사용하여 Ajax를 사용하여 다른 WebForm에서 데이터를 가져 오는 코드를 작성했으며 올바르게 작동합니다. 코드를 다른 프로젝트에 복사하고 있지만 제대로 작동하지 않습니다. 클래스 멤버가 클릭되면 입력 ID에 연결 한 ProductID가 표시되지만 $ .get의 데이터는 알려주지 않습니다. 테스트 페이지 (/Products/Ajax/Default.aspx)는 단순히 "TESTING ..."텍스트를 반환합니다. Internet Explorer에 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(); 왜 내가 마지막 프로젝트에서 그렇게하지 않아도 되는가? –

+0

우수! 다행 그것을 듣고 잘 알고 :) – ewakened