2013-02-06 3 views
1

나는이 Handlebars.js 템플릿을로드하고있어의 문서 객체를 반환 브라우저 콘솔의 다음 메시지가 표시됩니다.로드 핸들 템플릿 대신 문자열

Uncaught Error: You must pass a string to Handlebars.compile. You passed [object Document] 

디버깅 후 성공 콜백에서 반환 된 data은 HTML 문서이며 문자열이 아닙니다. 나는에 템플릿을 변경하는 경우에는 : 성공 콜백

 
<ul></ul> &nbsp 

data를 문자열로받은 모든 작동합니다.

저는 Handlebars 1.0 RC2와 Chrome 24를 사용하고 있습니다. 제안 사항이 있습니까?

+0

당신이 설명해 주시겠습니까 무엇 단계 "Handlebars.templates ["수집 "] = Handlebars.compile (데이터);" 여기서 뭐하는거야? 나는 데이터 형식 아약스를 핸들 바 템플릿에 전달해야하는 유사한 문제에 직면하고있다. –

답변

1

당신은 아약스에 대한 데이터 유형을 지정해야합니다

$.ajax({ 
    url : 'collection.handlebars', 
    success : function (data) { 
     Handlebars.templates["collection"] = Handlebars.compile(data); 
    }, 
    dataType: "text", 
    async : false 
});