将数据从 ajax 成功数据传递到 ejs 模板

pass data from ajax success data to ejs templates

我刚开始用ejs。现在,我想将从 ajax 结果中获得的数据传递给 ejs 中的两个不同的 div。

我可以传递给单个 div,但对于多个 div,我的代码需要做哪些更改?

  $.ajax({
      type: "POST",
      url: serviceurl + 'Get',
      dataType: 'json',
      crossDomain: true,
      contentType: "application/json; charset=utf-8",
      data: JSON.stringify({  "imagesrc":  imagesrc }),
      success: function (data) {
           var  property = JSON.parse(data.GetResult);
           $('.insideContent>').remove() ;                              
           $('.insideContent').addClass("insidecontentcss") ;  

           var str = $("#insidecontenttooldata").html();
           var data = { tooldata: property };
           var content = new EJS({ text: str }).render(data);
           $(".insideContent").html(content);

           var str1 = $("#well").html();
           var data1 = { tooldata: property };
           var content1 = new EJS({ text: str1 }).render(data);
           $(".well").html(content);
      }

并且在 ejs 页面中我使用了两个脚本

 <script id="insidecontenttooldata" type="text/x-ejs-template">
         //// loop////
</script>
 <script id="well" type="text/x-ejs-template">
      ///loop///
</script>

我猜你在定位第二个模板时出错了。修改代码如下:

 var str1 = $("#well").html(); //id of template is 'well' and not the 'welldata'
 var data1 = { tooldata: property };
 var content1 = new EJS({ text: str1 }).render(data1);
 $(".well").html(content1);

注意:正如@kristjan reinhold 所建议的那样,修改了代码以使用相对变量。