2011-09-17 53 views
2

在我的模板我有这样的代码:jQuery的模板从标签动态地呈现图像

<ul> 
    <li>${members_pics['0']}</li> 
    <li>${members_pics['1']}</li> 
</ul> 

members_pics属性包含此值:不是得到

<img typeof="foaf:Image" src="http://localhost/parce/sites/default/files/styles/profile_picture/public/pictures/picture-1-1316209044.jpg" alt="" /> 

当该脚本程序,在我的页面上呈现实际图像时,它会将上面的值作为字符串输出。

我错过了什么吗?

编辑: 这里是我的jQuery代码:

searchBut.click(function(){ 
     jQuery.ajax({ 
      type: "POST", 
      url: queryURL, 
      data: "country="+countryInput.val(), 
      success: function(result){ 

      searchResults = JSON.parse(result); 

      console.log(searchResults); 

      jQuery.each(searchResults,function(index){ 
       this.field_city = this.field_city.und["0"].value; 
       [..] 

      }); 

      jQuery('#parceSearchTpl').tmpl(searchResults).appendTo(searchWarper); 
      } 
     }); 
    }) 

回答

1

您的图像标记正在被HTML编码。

你应该改变你的模板是这样的:

<ul> 
    <li>{{html members_pics['0']}}</li> 
    <li>{{html members_pics['1']}}</li> 
</ul> 

将输出的原始字符串。如果字符串来自不受信任的来源,这可能会让您的网站容易受到XSS攻击。

+0

谢谢你的回答,虽然尝试它后,我在FB中得到以下错误:**缺少)在括号中** – silkAdmin

+0

对不起以前的评论是与你的代码无关 – silkAdmin

-2

我能想到的两个解决你的问题(如果我理解正确的话)

  • new Image(...)您结果。
  • 在您的浏览器中测试来自localhost的图像不大可能奏效。运行本地服务器进行测试
+0

这是多么的幼稚..低估了我是什么原因?我很抱歉,但你说什么没有使任何东西 – silkAdmin