2016-05-19 10 views
0

私は、JSONデータを表示しようとしていますが、私はこのエラーを持っています。誰でもこの助けてくれますか?は、どのように私は私のEJSテンプレートにJSONデータを得ることができますか?

エラー - >予期しないトークン。 「

/home/ubuntu/workspace/project_guest_book/views/pages/posts.ejコードであることは、エラーの原因は以下の通りです:

<% var post = require(__dirname +"/userPosts.json") 
     var result= %> 
      <table> 
      <% for (var i=0; i<post.length; i++){ 
       result += %> 
       <tr> 
        <th><% post[i].Name+ %></th> 
        <td><% post[i].Post %></td> 
       </tr> 
      <% } %> 
      <table> 
+1

*そのような変数は、何をして終わることである 'VAR結果にすることはできません出力するHTML * ='与えられた値なしでは構文エラーです。 – adeneo

+0

しかし、私は、私はまだ同じエラーを持っている価値を提供しても! – Learner

答えて

1

EJSは道あなたに使用されることが期待されていませんそれを使用しようとしている。

は、必要なデータを提供することができるとバック最終的なHTMLをあなたを与える機能にコンパイル埋め込まれたJavaScriptでのマークアップとしてEJSテンプレートについて考えてみよう。

だから、変数やHTMLフラグメントの連結中間のマークアップを保存する心配する必要はありません。

チェックアウトこのfiddleで実装:

<script id="template" type="text/html"> 
    <table> 
    <% for (var i=0; i< posts.length; i++){ %> 
     <tr> 
     <th><%= posts[i].Name %></th> 
     <td><%= posts[i].Post %></td> 
     </tr> 
    <% } %> 
    <table> 
</script> 

-

// This can be loaded from an external file: 
var posts = [{ 
    Name: "Post1", Post: "Lorem ipsum dolor sit amet" 
}, { 
    Name: "Post2", Post: "Lorem ipsum consecteuter adpiscing elit" 
}] 

var compiledTemplate = ejs.compile(document.getElementById('template').innerText) 

console.log(compiledTemplate({ posts: posts })) 
+0

ありがとうございます。今は私が間違っていたことを理解しやすい。 – Learner

関連する問題