【发布时间】:2016-06-05 22:36:21
【问题描述】:
所以我目前有一个设置,当用户单击链接时,链接的 ID 通过 AJAX 发送到 Coldfusion 页面,该页面使用它进行查询并返回一个对象。
jquery 函数如下所示:
$(".thelink").click(function(){
var link_id = $(this).attr("id");
var postData ={
link_id: link_id,
}
$.ajax({
type: "post",
url: "includes/query.cfm",
contentType: "application/json",
data:JSON.stringify(postData),
datatype: "json",
success: function(data){
$("#derpaderp").html(data.DATA.NAME);
}
})
})
它将数据发送到 CFM 文件,该文件执行查询并生成单行数据。然后我使用
<CFOUTPUT>#SerializeJSON(myQuery, true)#</CFOUTPUT>
返回数据。这一切都很好,我可以在开发者工具中看到这一点:
现在,如果您回顾一下 AJAX 函数,在“成功”下,我基本上是在尝试访问 DATA 对象中的值,正如您在图像中看到的那样,我收到错误“数据.DATA" 未定义。
关于如何获取 DATA 对象(名称、可见 URL、着陆 URL 等)中项目的值的任何想法
谢谢!
弗拉德的回答解决了上面的问题,但是一个后续问题:
如果我需要像这样对 CFM 文件进行另一个查询:
<CFOUTPUT>
<cfset object0 = RemoveChars(#SerializeJSON(query1, true)#, 1, 2) >
<cfset object1 = RemoveChars(#SerializeJSON(query2, true)#, 1, 2) >
#object0#
#object1#
</CFOUTPUT>
它给了我这样的 JSON 响应
我仍然需要从 DATA 对象中获取信息,但是现在有两个,如上图所示
我正在尝试这个
$.ajax({
type: "post",
url: "includes/query.cfm",
contentType: "application/json",
data:JSON.stringify(postData),
datatype: "json",
success: function(data){
var pdata = $.parseJSON(data[0]);
console.log(pdata);
}
})
基于 Vlad 对原始问题的回答,但它引发了错误。
【问题讨论】:
-
如果你把
console.log(data)放在你的成功函数中会得到什么输出?
标签: jquery json ajax object coldfusion