从通过ajax请求传递的jquery对象获取特定值
所以我现在有一个设置,当用户单击一个链接时,链接的ID通过AJAX发送到一个coldfusion页面,该页面使用它进行查询并返回一个对象 jquery函数如下所示:从通过ajax请求传递的jquery对象获取特定值,jquery,json,ajax,object,coldfusion,Jquery,Json,Ajax,Object,Coldfusion,所以我现在有一个设置,当用户单击一个链接时,链接的ID通过AJAX发送到一个coldfusion页面,该页面使用它进行查询并返回一个对象 jquery函数如下所示: $(".thelink").click(function(){ var link_id = $(this).attr("id"); var postData ={ link_id: link_id, } $.ajax({ type: "po
$(".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);
}
})
})
<CFOUTPUT>
<cfset object0 = RemoveChars(#SerializeJSON(query1, true)#, 1, 2) >
<cfset object1 = RemoveChars(#SerializeJSON(query2, true)#, 1, 2) >
#object0#
#object1#
</CFOUTPUT>
它将数据发送到执行查询的CFM文件,并生成一行数据。然后我使用
<CFOUTPUT>#SerializeJSON(myQuery, true)#</CFOUTPUT>
基于Vlad对原始问题的回答,但它抛出了一个错误。在成功函数中,您可以添加函数。可以使用console.log检查所需的其他值
$.ajax({
type: "post",
url: "includes/query.cfm",
contentType: "application/json",
data:JSON.stringify(postData),
datatype: "json",
success: function(data){
var pdata = $.parseJSON(data);
console.log(pdata.DATA.VISIBLE_URL)
//$("#derpaderp").html(pdata.DATA.VISIBLE_URL);
}
})
好的,我为我的后续问题找到了解决方案 实际上,我是通过AJAX函数将两个单独的对象发送回来的。像这样:
{"COLUMNS": x, "ROWCOUNT":Y, "DATA:Z}
{"COLUMNS": x, "ROWCOUNT":Y, "DATA:Z}
这导致了一个分析错误,因为有2个对象。我通过创建一个要发回的对象来解决这个问题
<cfset object0 = RemoveChars(#SerializeJSON(query1, true)#, 1, 2) >
<cfset object1 = RemoveChars(#SerializeJSON(query2, true)#, 1, 2) >
<CFOUTPUT>
{"FIRST":[#object0#], "SECOND":[#object1#]}
</CFOUTPUT>
这将成功地记录第一次查询中“VISIBLE_URL”的值
谢谢大家 如果将
console.log(data)
放在success函数中,会得到什么输出?这很有效!我可以发誓我也试过了:P谢谢弗拉德!我编辑了原始问题并进行了跟进!我尝试在响应中添加另一个查询,但它似乎破坏了代码,很高兴你找到了答案。我想建议您可以在查询中使用内部连接,这样您只有一个查询,并且只返回1组json。
<cfset object0 = RemoveChars(#SerializeJSON(query1, true)#, 1, 2) >
<cfset object1 = RemoveChars(#SerializeJSON(query2, true)#, 1, 2) >
<CFOUTPUT>
{"FIRST":[#object0#], "SECOND":[#object1#]}
</CFOUTPUT>
$.ajax({
type: "post",
url: "includes/query.cfm",
contentType: "application/json",
data:JSON.stringify(postData),
datatype: "json",
success: function(data){
var pdata = $.parseJSON(data);
var object1_data = pdata.FIRST[0];
var object2_data = pdata.SECOND[0];
console.log(object1_data.DATA.VISIBLE_URL)
}
})