2017-01-25 13 views
2

촉매를 사용하여 AJAX 요청을 처리하여 일부 동적 HTML 생성 물마루 jQuery를 해결하려고합니다. 간단히 말해서, <select> </select> 태그 (사용자 입력에서 다른 필드와 함께 jQuery를 통해 생성)를 채워야합니다.Catalyst를 사용하여 AJAX 응답의 래퍼 피하기

$.post("../ajax/simple_query", 'get="family_precedents"'); 

을 그리고 펄 스크립트에서이 매우 간단한 요청을 처리 :이 같은이 내가 코드 블록은 내가 필요한 데이터에 대한 간단한 AJAX 요청을 수행 할 수있는 태그를 만들어 확장 할 수 생각 태그 ... 뭔가를 채우기 내가 일반적으로하는 것처럼 Catalyst :: Request를 사용한다.

AJAX 응답에 Catalyst App 래퍼가 포함되어있어 이해하기 쉽고 사용하기가 쉽지 않습니다. 촉매제를 사용하는 AJAX 응답에서 래퍼를 피할 수있는 방법이 있습니까?

+1

래퍼는 템플릿 래퍼를 의미합니까? 콘텐츠가 HTML 블록입니까? 템플릿을 통해 생성 되었습니까? 아니면 컨트롤러에서 직접 설정합니까? 질문을 편집하고 페이지를 렌더링하는 컨트롤러 부분과 템플릿을 포함하십시오. – simbabque

+0

네, Template Wrappers를 말했습니다. 아약스 응답 생성 콘텐츠는 자바 스크립트에서 직접 구문 분석하는 다양한 값을 포함하는 문자열과 비슷합니다. –

+0

템플릿으로도 생성되지 않은 경우 다른보기를 사용할 수도 있습니다. aja [xj]는 일반적으로 https://metacpan.org/pod/Catalyst::View::JSON을 사용합니다. – simbabque

답변

2

촉매제 문서에 대한 답변을 찾았습니다.

[% IF no_wrapper or template.name.match('\.(css|js|txt)'); 
    debug("Passing page through as text: $template.name"); 
    content; 
ELSE; 
    debug("Applying HTML page layout wrappers to $template.name\n"); 
    content WRAPPER site/html + site/layout; 
END; -%] 

을 그리고 다음 $ C -> 숨긴와 함께 no_wrapper 값을 전송 -> {no_wrapper}

출처 : 당신은 다음과 같이 조건부로 표시하는 래퍼를 구성 할 수 있습니다 밝혀 : http://wiki.catalystframework.org/wiki/gettingstarted/howtos/disabling_a_tt_wrapper_for_ajax_requests

+2

나는 그것을 쓰려고했다. 잘 했어. 너 스스로 발견 했어. :) – simbabque

+1

하지만 AJAX 용으로 다른보기를 만들 수도 있습니다. 그게 합리적인 유스 케이스가 있다고 생각합니다. – simbabque