Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何输出JavaScript字符串?_Javascript_Json_Coldfusion_Stringify_Cfoutput - Fatal编程技术网

如何输出JavaScript字符串?

如何输出JavaScript字符串?,javascript,json,coldfusion,stringify,cfoutput,Javascript,Json,Coldfusion,Stringify,Cfoutput,我正在cfm文件中的脚本标记中构建JSON字符串。我想找到一种方法将这个JSON字符串放入cfoutput中,这样页面就可以显示JSON了 我目前正在document.write()ing json,它在浏览器中检索json,但不会返回任何POST请求。我尝试过使用toScript()coldfusion函数,但我认为这与我想要的正好相反(当我想将js变量放入cf时,将cf变量放入js) 我现在正在做这个 <cfoutput> <script type = "text/

我正在cfm文件中的脚本标记中构建JSON字符串。我想找到一种方法将这个JSON字符串放入cfoutput中,这样页面就可以显示JSON了

我目前正在
document.write()
ing json,它在浏览器中检索json,但不会返回任何POST请求。我尝试过使用toScript()coldfusion函数,但我认为这与我想要的正好相反(当我想将js变量放入cf时,将cf变量放入js)

我现在正在做这个

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

var someJSON=“{\'some\':\'data\'”;
document.write(JSON.stringify(someJSON));

我仍在处理coldfusion,如果这看起来过时了,我很抱歉。我想将
someJSON
传递给一个coldfusion变量,这样我就可以使用cfoutput标记,这样我就可以得到一个对这个特定端点的POST请求响应,因为目前我没有得到响应。

要将字符串从coldfusion中取出并转换成Javascript,需要执行以下操作:

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


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

var someJSON=#serializeJSON(cfdata)#;
document.write(JSON.stringify(someJSON));
结果


请参阅:

您有一些
表单.cfm
正在向
数据.cfm
发出Ajax请求。
数据
文件应将
JSON
返回到
表单
文件中的JavaScript

data.cfm
文件基本上需要这样做:

<cfscript>
data = {
    a: 1,
    b: 2,
    c: 3
};

cfcontent(type="application/json; charset=UTF-8")
writeOutput(serializeJSON(data))
</cfscript>
因为ColdFusion以大写形式存储结构键。为了使数据以小写键的形式返回,您可以

data = {};
data["a"] = 1;
data["b"] = 2;
data["c"] = 3;

然后返回带有小写键的JSON

{"a":1,"b":2,"c":3}

你一定要小心。如果您有客户端JavaScript并希望向服务器端ColdFusion提交信息,则需要通过HTTP发送这些信息。这可以通过使用
提交或通过
FormData
使用AJAX(XHR=XML HTTP请求)来完成。但是不会返回任何带有POST请求的内容。您能详细说明一下“带有POST请求”是什么意思吗?你是说另一个页面正在将数据发布到.cfm脚本中,你想用cfoutput显示它吗?我想知道用户是否只想设置一个
,然后这样发布。用户可以这样做:是的,这是可能的-尽管提到“这个特定端点”表明脚本可能收到一篇帖子。如果没有更多的澄清,很难说……编辑@KarimShoorbajee-是的,这不会像你希望的那样起作用。即使您可以在同一个文件中混合使用JS/CF代码。您不能从CF输出javascript变量,因为它对JS一无所知,JS也不理解CFML。即使是这样,时间安排也不可能。CF代码首先执行。它被转换成html并返回到web服务器。然后CF服务器断开连接。当你的浏览器得到它时,CF服务器早已不存在了。我认为他正试图做相反的事情;-)但是尽管这篇文章重读了两遍,但我仍然不完全清楚为什么——或者它是否真的是需要的。
data = {
    "a": 1,
    "b": 2,
    "c": 3
};
{"a":1,"b":2,"c":3}