1

この 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 を使用しています。

4

1 に答える 1