2016-02-17 57 views
1

我已經在一個名爲.EJS模板中的項目的數組中創建了按鈕/文本的html列表。如何將特定項目的id(item.id)傳遞給按鈕的函數,以便將正確的數據發送到我的api?謝謝。如何使用EJS模板引擎將變量傳遞給嵌入式JavaScript?

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <title>Menu</title> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
    <script type="text/javascript"> 

    function print(id) { 
     $.ajax({ 
      url: "https://www.example.com/api/1/print", 
      type: "POST", 
      data: { 
      "item_id": id 
      }, 
      dataType: "json", 
      success: function (result) { 
      alert(result); 
      }, 
      error: function (xhr, ajaxOptions, thrownError) { 
      alert(xhr.status); 
      alert(thrownError); 
      } 
     }); 
     }; 
    </script> 
    </head> 
    <body> 
    <h2>Menu</h2> 
    <ul> 
     <% for(item of items) { %> 
      <li> 
      <button onclick="print(item.id)">PRINT</button> 
      <%= item.name %> - <%= item.id %> 
      </li> 
     <% } %> 
    </ul> 
    </body> 
</html> 

回答

3
<button onclick="print('<%= item.id %>')">PRINT</button> 

是你會怎麼做,在我用每一個模板語言。看過文檔後,看起來EJS是一樣的

+0

什麼是不工作呢?我發佈的代碼的輸出標記是什麼? – thedarklord47

+0

它表示「未捕獲的ReferenceError:mxYbGAuc9p未定義」,因爲該html編譯爲 supster

+0

什麼是生成的HTML?請以我最初發布的方式運行代碼,併發布產生的HTML。我們需要看看EJS正在製作的內容。將它添加爲您的原始問題的編輯。 – thedarklord47