2012-12-04 2 views
0

게시물을 사용하여 fancybox iframe의 데이터를 장고보기로 전달해야합니다. iframe 제목을 사용자가 클릭 할 수있는 "a href"링크로 설정합니다. jquery fancybox 2 iframe이 (가) 게시물을 통해 부모에게 데이터를 전송합니다.

은 fancybox 코드입니다 :

$(".fancybox-company").fancybox({ 
    width  : '75%', 
    height  : '75%', 
    autoSize : false, 
    closeClick : false, 
    fitToView : false, 
    openEffect : 'none', 
    closeEffect : 'none', 
    type : 'iframe', 
    beforeLoad: function() { 
     var id = $(this.element).data('company-id'); 
     this.title = "<a href=\"\" id=company-iframe>Add to your list</a>"; 
    } 
}); 

이것은 클릭 이벤트를 수신하는 코드입니다 :

이 호출되지 않는
$(".company-iframe").on('click', function (event) { 

    event.preventDefault(); 

    var id = event.target.href; 

    $.post("/company/selection", { id : id }, function (json) { 

     // ... 

    }); 

, 내가 클릭 이벤트를 전달해야 iframe에서 부모로 전달하고 회사 ID를 입력으로 전달합니다.

나는 무엇이 실종 되었습니까?

10x

답변

0

나는 csrf 토큰이 누락 된 것 같습니다. 교차 사이트 요청 위조를 막기위한 django mechanism입니다. 모든 게시물 요청보다 미들웨어 클래스에서 csrf를 활성화 한 경우 데이터에 'csrfmiddlewaretoken'을 제공해야합니다. {% csrf_token %} 태그를 사용하여 쿠키 또는 템플릿에서 액세스 할 수 있습니다. 당신이 당신의 템플릿이 토큰을 달성 한 후

, 당신은

$(".company-iframe").on('click', function (event) { 

    event.preventDefault(); 

    var csrfmiddlewaretoken = $('input[name=\"csrfmiddlewaretoken\"]').val(); 
    var id = event.target.href; 

    $.post("/company/selection", 
      { id : id , csrfmiddlewaretoken: csrfmiddlewaretoken}, 
      function (json) { 

     // ... 

    }); 
처럼 JS 기능을 수정해야
관련 문제