微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 获取Coldfusion来解析json请求

我有一个 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:

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

在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,6]}

原文地址:https://www.jb51.cc/jquery/177585.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐