【发布时间】:2015-09-20 15:36:10
【问题描述】:
我正在使用 ColdFusion 连接到 Web 服务并执行方法。我将返回的 xml 字符串的内容存储到 ColdFusion 数组中,然后将 ColdFusion 数组转换为 JavaScript 数组,以便填充 HTML 文档的内容。
我在尝试将照片添加到名为“agent_photo_list”的无序列表时出现问题。特别是当我调用.setAttribute 方法时。它似乎涉及'src' 参数。当 JavaScript 代码不在 cfscript tag 和 WriteOutput 方法中时,它会按我的预期工作。我已经研究过这个问题,但我无法找到足够相似的参考。我仍然无法理解我的问题是什么。我在下面包含了我的代码:
cfscript>
WriteOutput('
<script language = "JavaScript">
var #ToScript(array, "jsArray")#
var agent = jsArray[0];
document.getElementById("output").innerHTML = agent.firstname + " " + agent.lastname;
var imgurl = "_images/agentphoto.jpg";
var node = document.createElement("LI");
var imgnode = (document.createElement("IMG"));
imgnode.setAttribute('src', "imgurl");
node.appendChild(imgnode);
document.getElementById("agent_photo_list").appendChild(node);
</script>
')
</cfscript>
我正在使用位于我的_images 文件夹中的 jpg 文件进行测试,稍后我会将其更改为agent.photourl。
我得到的错误如下:
在第 117 行第 35 列发现无效的 CFML 构造。ColdFusion 为 查看以下文本:
src
CFML 编译器正在处理:
包含或处理的文件的具体顺序是:C:\inetpub\wwwroot\webservice.cfm,第 117 行
- 一个表达式开始 使用 WriteOutput,在第 111 行,第 17 列。此消息通常是 由表达式结构中的问题引起。
- 脚本 以 WriteOutput 开头的语句,第 111 行,列 17.
- 从第 102 行第 10 列开始的 cfscript 标记。
我很好奇为什么我的 JavaScript 在调用 setAttribute 方法之前在 cfscript 标记内是有效的,以及为什么它在 cfscript 标记之外是有效的。
我会感谢您的洞察力。谢谢你。
【问题讨论】:
标签: javascript html xml coldfusion