首页 > 解决方案 > 如何cfoutput 一个JavaScript 字符串?

问题描述

我正在 cfm 文件的脚本标签中构建 JSON 字符串。我想找到一种方法将此 JSON 字符串转换为 cfoutput,以便页面可以显示 JSON。

我目前只是document.write()在浏览器中检索 JSON 但不会通过 POST 请求返回任何内容的 json。我尝试过使用 toScript() Coldfusion 函数,但我认为这与我想要的相反(当我想将 js var 放入 cf 时,将 cf var 放入 js)。

我目前正在这样做

<cfoutput>
    <script type = "text/javascript"> 
        var someJSON = "{\"some\": \"data\"}";
        document.write(JSON.stringify(someJSON));
    </script>
</cfoutput>

我仍然在处理冷融合,如果这看起来很陈旧,我很抱歉。我想改为传递someJSON给一个coldfusion变量,这样我就可以cfoutput标签,这样我就可以得到一个对这个特定端点的POST请求的响应,因为目前我没有得到任何响应。

标签: javascriptjsoncoldfusionstringifycfoutput

解决方案


要将字符串从 ColdFusion 中取出并放入 Javascript,您需要执行以下操作:

<cfset cfdata = {"some": "data"}>


<cfoutput>
<script type = "text/javascript"> 
    var someJSON = #serializeJSON(cfdata)#;
    document.write(JSON.stringify(someJSON));
</script>
</cfoutput>

结果

在此处输入图像描述

见:https ://cffiddle.org/app/file?filepath=f9d44f3a-5711-456e-b25a-bf31fead1fa8/6677fc2a-f41b-47d7-b11a-352575f95738/4e1ecc15-ac98-450f-a7fe-b28cf395b012.cfm


推荐阅读