2011-03-31 2 views
0
$.ajax({ 
    type:'GET', 
    cache: 'false', 
    url:"/foo/", 
    data:{"id": pid}, 
    success:function(data) { 
     $('#wrapper').html(data); 
    } 
}); 

<li id="btn-click" class="select">{{ promo.name }}</li> 

아약스 URL을 내 URL을 가정 #. 로 끝나는 이유는 그것이 내가 #을 사용하지 않으 http://localhost:8000/foo/#. 로 끝나는 http://localhost:8000/foo/입니다. 마지막에.왜 ajax 호출 url은 #로 끝나는가?

+0

무엇? 어쩌면 당신은 href = "#"ajax 호출을 실행하는 링크에 있습니까? –

+0

여기에 코드를 모두 게시 할 수 있습니까? 위의 #btn-click (클릭)과 #wrapper가 포함 된 전체 html에 대한 클릭 핸들러가 누락되었습니다. – schellmax

답변

2

앵커에 #가있어 페이지가 다시로드되지 않습니까? 그렇다면 클릭 이벤트에서 다음 중 하나를 반환해야합니다. false; 또는 event.stopPropagation()을 사용하십시오. 기본 동작을 방지합니다.

{{promo.name}}의 값은 무엇입니까 ??

0

아약스 호출을 실행하는 링크에 href = "#"이 (가) 있습니까? 대신 href = "javascript : void (0)"를 사용하십시오.

+1

jQuery의 전체적인 요점은 인라인 자바 스크립트 추가의 필요성을 제거하는 것입니다. , 그리고 href 속성의 javascript는 확실히 내가 요즘 누군가를 가르치고있는 연습이 아닙니다. 그 컨트롤은 앵커에 부착 된 함수 내에서 처리 할 수 ​​있습니다. 위에 게시 된 메서드를 사용할 수 있습니다. – Alex

+0

맞습니다. 나는 무엇을 생각하고 있었습니까 :) –