繁体   English   中英

尝试在Colfusion中使用JavaScript将src属性添加到img标签时,为什么会出现错误?

[英]Why am I getting an error when trying to add the src attribute to an img tag using JavaScript within Colfusion?

我正在使用ColdFusion连接到Web Service并从Web Service执行方法。 我将返回的xml字符串的内容存储到ColdFusion数组中,然后将ColdFusion数组转换为JavaScript数组,以便可以填充HTML文档的内容。

尝试将照片添加到名为“ agent_photo_list ”的无序列表时,出现了我的问题。 特别是当我调用.setAttribute方法时。 它似乎涉及'src'参数。 JavaScript代码不在cfscript tagWriteOutput方法内时, 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正在查看以下文本:<p> src </ p> <p> CFML编译器正在处理:<ul> <li>以WriteOutput开头的表达式在线111,第17列。此消息通常是由表达式结构中的问题引起的。<li>从第111行第17列的WriteOutput开始的脚本语句。<li>从第102行第10列开始的cfscript标记。</ li ul>包含或处理的文件的特定顺序为:C:\\ inetpub \\ wwwroot \\ webservice.cfm,行:117

我很好奇为什么我的JavaScript在cfscript标记内才cfscript直到调用setAttribute方法为止,以及为什么它在cfscript标记外cfscript

我将感谢您的见解。 谢谢。

您需要将src包装在“”中 另外,在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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM