我在玩javascript,在这里遇到了一个奇怪的问题。我在服务器端使用 Ruby on Rails。
这是我想要动态的 HTML 部分:
<div id="pic">
<img src="https://graph.facebook.com/<%=@id.to_s%>/picture?type=large">
</div>
onreadystatechange
这是引发我的 AJAX 请求事件时调用的代码:
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%>
,而不是每次调用函数时。
有解决方法吗?
干杯