2013-09-06 3 views
0

Ajax를 처음 사용하는 것으로부터 시작하겠습니다. 나는 아약스를 통해 콘텐츠를로드하고 사용자가 링크를 클릭 할 때 시작되는 컬러 박스 팝업에 표시하려고합니다. 이것은 내가 지금까지 가지고있는 것이지만, Colorbox를 열어도조차 못합니다. 이런 종류의 일을하도록 통찰력을 가진 사람이 있습니까? 감사! 당신이 URL에게 장소를주지 않고 colorbox에 URL을 전달되므로jQuery Colorbox에서면 처리 된 검색 결과의 Ajax 컨텐츠로드

$(document).ready(function(){ 
$(".show-overlay-link").click(function() { 
    // get facet name from value of @id 
    var id = $(this).attr("id"); 
    var facetName = id.replace(/^show-overlay-link-/, ""); 
    $.colorbox({href:"/ajax.xqy?action=facet&name=" + facetName}); 
    }); 
}); 

답변

1

첫째, 아약스되지 ...

둘째, 심지어 아약스없이, 문제는, 당신의 colorbox의 설정에있다 iframe과 같은 라이브. 먼저 일반적인 게시물에 대한 쿼리 URL을 작성하는 생성자를 작성한 다음 아래와 같이 colorbox iframe 속성을 포함하도록 colorbox 속성을 확장해야합니다.

$(document).ready(function(){ 
    $(".show-overlay-link").click(function() { 

     // get facet name from value of @id 
     var id = $(this).attr("id"); 

     // modify the returned id to remove the unwanted part of the id 
     // for use in the query constructor 
     var facetName = id.replace(/^show-overlay-link-/, ""); 

     // build a query constructor for your query URL 
     var facetQuery = '/ajax.xqy?action=facet&name=' + facetName; 

     // Configure colorbox with the iframe property set to true to give your 
     // query response a target for the returned query result page. 
     $.colorbox({ 
      iframe: true, 
      href: facetQuery 
     }); 
    }); 
}); 
내가 방법을 표시 할 수 없습니다

아웃 서버 측 스크립트를보고 어떻게 그것을 전송 후 데이터를 처리뿐만 아니라 반환 데이터의 유형을 알고있다와 아약스와 함께이 작업을 수행하는 그 처리 ajax 응답 (예 : json, xml, html, text 등)으로 다시 전송됩니다. 그러나 제공된 코드는 클라이언트 측과 서버 측 모두에서 기존 코드로 원하는 것을 성취해야합니다.

또한 facetQuery에 대한 절대 URL 대신 상대 URL을 사용한다는 점에 유의해야합니다. facetQuery는 colorbox.js의 위치와 관련이 있으며 colorbox 자체에서 호출되므로, 자신의 위치가 아닌 다른 경로에 대한 참조가 없습니다. 생성자에 대한 절대 URL을 사용하는 것이 가장 좋습니다. 그러면 colorbox.js가 서버에 저장된 위치와 관련이 없기 때문입니다.

희망이 있습니다.