javascript
  • arrays
  • node.js
  • express
  • ejs
  • 2016-07-04 24 views 0 likes 
    0

    ejsからJavaScriptに配列を渡そうとしています。 JavaScriptからではなくejs内の値に到達できます。変数 "test"の内容が配列ではないので、私はいつも未定義になります。あなたは、アレイEJSからJavascriptに配列を渡す

    var test = <%- JSON.stringify(level_tab) %>; 
    

    を文字列化する必要が

    <script> 
    
    var test = '<%- level_tab %>'; 
    alert(test); 
    
    function level(s1,s2){ 
          var s1 = document.getElementById(s1); 
          var s2 = document.getElementById(s2); 
          s2.innerHTML = ""; 
          if(s1.value == "level_0"){ 
           var optionArray = test; 
          } 
          else if(s1.value == "level_1"){ 
           var optionArray = ["test|test01", "test0|test02"]; 
          } 
    for(var option in optionArray){ 
           var pair = optionArray[option].split("|"); 
           var newOption = document.createElement("option"); 
           newOption.value = pair[0]; 
           newOption.innerHTML = pair[1]; 
           s2.options.add(newOption); 
          } 
         } 
    </script> 
    

    答えて

    1

    私はEJSに慣れていないんだが、一般的には同じ原理は、構文がEJSが若干異なる場合でも適用されるべきです。

    私はExpressからEJSページに配列を渡すために、そのような処理
    +0

    (単一引用符を使用しないでください)、それが正常に動作しますこれを使用しますが、 –

    +0

    @amine_detterを働いていない - あなたは引用符を削除しようとしています。 ? – razakj

    +0

    これはうまくいきましたが、editeur(webstorm)はエラーがあることを示しています。そのため、私は一重引用符を使用しています。とにかくありがとうございました。 –

    0

    .post('/action', function(req, res) { 
         var arr = ["premier", "second", "troisième", "quatrieme", "cinquieme"]; 
         res.render('page.ejs', {arr: arr}); 
    }); 
    

    そしてpage.ejsで:Node.jsのコードで

    <% for(var i = 0 ; i < arr.length ; i++) { %> 
         <tr> 
          <td><%= arr[i] %></td> 
         </tr> 
    <% } %> 
    
    +0

    は私が欲しいものではありません、問題は、この配列 "arr"をjavascriptの配列に渡すことです。 –

    0

    私は解決策を見つけましたそれは仕事ですが、それを行う他の方法があるかどうかはわかりません。 JSON.stringify(level_tab)% -

    VARテスト= <%: 私は

    <% for(var j=0; j<level_tab.length; j++) { %> 
          level_tab.push('<%- level_tab[j]%>'); 
    <%}%> 
    
    0

    削除JSON from EJS to JSON object in JS

    に単一引用符を参照してください、このループにより

    var test = '<%- level_tab %>'; 
    

    を変更します>;

    +0

    editeur(webstorm)は、単一引用符を使用しているというエラーがあることを示します。 –

    0

    私はポストを編集した私はすでに文字列化を使用してみてください

     var test = <%-JSON.stringify(level_tab) %>; 
         console.log("test :"+test); 
    
    +0

    ありがとうございますありがとうございます。 –

    関連する問題