この Handlebars.js テンプレートを読み込んでいます:
<ul></ul>
次のコードを使用してAJAXで
$.ajax({
url : 'collection.handlebars',
success : function (data) {
Handlebars.templates["collection"] = Handlebars.compile(data);
},
async : false
});
テンプレートのコンパイルが失敗し、ブラウザー コンソールに次のメッセージが表示されます。
Uncaught Error: You must pass a string to Handlebars.compile. You passed [object Document]
data
デバッグ後、成功のコールバックで返されるのは文字列ではなく HTML ドキュメントであることに気付きました。ただし、テンプレートを次のように変更すると:
<ul></ul>
data
成功のコールバックは文字列として受信され、すべてが機能します。
Handlebars 1.0 RC2 と Chrome 24 を使用しています。