gpt4 book ai didi

jquery - 让 Coldfusion 解析 json 请求

转载 作者:行者123 更新时间:2023-12-03 22:37:35 27 4
gpt4 key购买 nike

我有一个 JavaScript 对象:

data = { color: red, day: monday, list: {1,2,3,4,5,6}}

我使用 jQuery 将其传递到 Coldfusion 页面:

$.ajax({
type: "POST",
url: "ajax_myPage.cfm",
data: JSON.stringify(data),
contentType: "application/json",
dataType: "json" });

这是我的 cfdump:

enter image description here

(“列表”实际上将包含电子邮件列表,但我现在仅使用一个地址进行测试)

在 Coldfusion 中,我尝试将每个“部分”分配给一个变量:

<cfset requestBody = toString( getHttpRequestData().content ) />
<!--- Double-check to make sure it's a JSON value. --->
<cfif !isJSON( requestBody )>

<!--- Echo back POST data. --->
<h3>The URL you requested does not provide valid JSON</h3>
<cfdump
var="#requestBody#"
label="HTTP Body"
/>
<cfelse>
<cfset cfData=DeserializeJSON(requestBody)>
<cfset color = cfData.color>
<cfset day = cfData.day>
<cfset myList = cfData.list>
</cfif>

但是我收到“list”错误,

Complex object types cannot be converted to simple values. 

如何将列表解析为 Coldfusion?

最佳答案

我会将数据作为 post var 发送,

data: { json: JSON.stringify(data) }

然后将其解析为变量:

<cfset structJSON = deserializeJSON(FORM.json)>

此时,cfdump 结构会检查其内容,以便您知道如何访问它们。

由于我们不知道您传递给 ColdFusion 的 json 结构由什么组成,所以我不知道 structJSON.list 包含什么或为什么它会抛出错误。

编辑:啊我现在看到你的 json 了。

您的列表不是有效的 json,请将 {} 更改为 []

data = { color: "red", day: "monday", list: [1,2,3,4,5,6]}

关于jquery - 让 Coldfusion 解析 json 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9009794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com