CFC JSON输出 – 显示查询结果的问题
这是一个很长的问题 – 有很多细节 – 所以首先为此道歉 – 但我不确定如何以更简洁的方式提出这个问题。
我有两个CFC,都设计为从查询返回JSON,然后我使用jquery来显示结果。
第一个CFC看起来像这样:
调用此方法并使用以下内容显示结果:
$.getJSON("getRequests.cfc?method=getRequests&returnformat=json&queryFormat=column",{"status":1}, function(res,code) { if(res.ROWCOUNT > 0){ for(var i=0; i<res.ROWCOUNT; i++) { s = " " + res.DATA.TITLE[i] + "
Panel
RFQ ID
" + "" + /*res.DATA.PANEL[i] +*/"
" + res.DATA.JOB_ID[i] + "
" + "Responses" + /*res.DATA.RESPONSES +*/ "
Due " + res.DATA.REQUIRED_DATE[i] + "
" + "
"; }; } else { var s = "Sorry, nothing matched your search."; } $("#results").html(s); },"json"); })
一切正常。
第二个CFC看起来像这样:
此CFC被调用,数据显示如下:
$(".alphaindex").click(function(e) { var item = $(this).attr("title"); if(item == "")return $.getJSON("getContacts.cfc?method=getContacts&returnformat=json",{"alpha":item}, function(res,code){ if(res.ROWCOUNT > 0){ for(var i=0; i<res.ROWCOUNT; i++) { s += "" + res.DATA.CONTACTFIRSTNAME[i] + res.DATA.CONTACTLASTNAME[i] + "
" + "" + res.DATA.CONTACTEMAIL[i] + "
" + "" + res.DATA.CONTACTMOBILE[i] + "
" }; s += ""; } else { var s = "Sorry, nothing matched your search."; } $("#results").html(s); },"json"); e.preventDefault(); })
这是返回JSON数据头 – 但不是数据。 我不知道有什么区别,或者我在第二个例子中出错了。
任何建议表示赞赏 – 再次就问题的长度道歉。
西蒙
这是一个远景,但您的函数名称是“getContacts”,并且可能基于您的代码片段,您的查询称为“getContacts”。
我想知道那里是否发生了一些奇怪的碰撞。 尝试重命名您的查询(以及更改“返回”行)以完全独特的东西(确保VAR也适用它!)
编辑:等等 – 你的第一个CFC也是这样做的,而且它有效。 嗯,无论如何都要试试,谁知道……
得到它 – 正如预期的那样(并且几乎一如既往)我错过了一些简单的东西。 我需要在第二个示例中添加&queryformat = column。
$.getJSON("getContacts.cfc?method=getContacts&returnformat=json&queryFormat=column"
感谢Edward的帮助!
西蒙