我试图在JavaScript中嵌入Ruby代码的输出:
var stuff= "<% Representative.get('http://0.0.0.0:4568/') %>";
嵌入式部件正在单独工作,显示如下结果:
{ "name":"John Johnson", "street":"Oslo West 555", "age":33, "phone":"555 1234567"}
以上一行是精确的页面来源;它虽然在本地运行,但我无法向您显示页面。
在变量中,我尝试将其发送到我的应用程序:
document.getElementById("X_Axis").value=stuff.name;
通过输入:
<input type="text" id="X_Axis" />
我每次都获得undefined
值。
我尝试在JavaScript中对代码进行硬编码,并且它工作得很好,当嵌入式Ruby放入JavaScript变量时,它总是给我undefined
值。
答案 0 :(得分:4)
您不应该在ERB代码周围加上引号,否则它会将结果放在字符串中,而不是将其作为散列/ JSON对象分配给stuff
。删除它们,它应该工作。 (另外,<%
应为<%=
)。
var stuff = <%= Representative.get('http://0.0.0.0:4568/') %>;