【发布时间】:2012-12-26 10:33:40
【问题描述】:
我在玩javascript,在这里遇到了一个奇怪的问题。我在服务器端使用 Ruby on Rails。
这是我想要动态化的 HTML 部分:
<div id="pic">
<img src="https://graph.facebook.com/<%=@id.to_s%>/picture?type=large">
</div>
这是我的 AJAX 请求的事件onreadystatechange 引发时调用的代码:
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(<%=@id.to_s%>);
document.getElementById("pic").innerHTML = "<img src=\"https://graph.facebook.com/<%=@id.to_s%>/picture?type=large\">";
}
基本上,我的请求是在服务器端处理的,变量@id 的值被更改(它工作正常,如使用调试器所见)。因此,当解释 javascript 代码时,变量的值也应该根据我的期望在客户端发生变化......但它没有,这是我的问题。
我的猜测是,这段代码<%=@id.to_s%> 会在脚本加载到浏览器后进行评估,而不是每次调用函数时。
有解决办法吗?
干杯
【问题讨论】:
标签: javascript ruby-on-rails ruby session