2014-11-24 30 views
0

車把文檔示出了一個通過添加「腳本」節點插入在一個頁面的模板:是否有可能從XHR中檢索和使用句柄模板,而不是使用腳本標記?

<script id="myTemplate" type="text/x-handlebars-template"> 
    <div> 
     <h3>cars</h3> 
     <fieldset> 
      {{#each model}} 
      <label class="labels"> 
       {{answer}} 
      </label> 
      <br> 
      {{/each}} 
     </fieldset> 
    </div> 
</script> 

然後做:

var source = $(#myTemplate).html(); 
template = Handlebars.compile(source); 

,然後應用的上下文,以產生輸出的HTML。

但是我不想在頁面中插入腳本,而是想從Web服務器的腳本標記中獲取所有內容。但是當我嘗試從我的Web服務器編譯源代碼時,瀏覽器控制檯會抱怨意外的「<」。

我在做什麼錯?

回答

0

確實有可能。

在此代碼:

var source = $(#myTemplate).html(); 
template = Handlebars.compile(source); 

只需更換與AJAX調用,通過Ajax調用檢索HTML,然後編譯獲取的HTML結果的第一行。所以,不是從腳本標記中獲取HTML,而是從ajax調用中獲取它,就像使用ajax調用從Web服務器獲取任何其他數據一樣。

如果你正在嘗試這樣做,並得到一個錯誤,那麼你將不得不更詳細地瞭解你使用的代碼,你得到的錯誤以及你從阿賈克斯呼籲我們知道你在哪裏出了問題。但是,如果你正確地實施它,這樣做是完全合理的。您不會希望通過Ajax調用獲得的HTML中的<script>標記,只是代表模板的原始HTML代碼段。

相關問題