我一直在寻找一些旧的代码,我发现了几个嵌套循环实例,其中用于迭代对象的变量在内部循环中重新分配,但它不会导致问题.例如,给出以下内容example.cfm:
<cfscript>
// Get every second value in an array of arrays
function contrivedExampleFunction(required array data) {
var filtered = [];
for (i = 1; i lte arrayLen(arguments.data); i++) {
var inner = arguments.data[i];
for (i = 1; i lte arrayLen(inner); i++) {
if (i eq 2) {
arrayAppend(filtered, inner);
}
}
}
return filtered;
}
data = [
[1,2,3],
[4,5,6],
[7,8,9]
];
// Expected (working function): [2, 5, 8]
// Expected (short-circuiting): [2]
// Actual result: [1, …Run Code Online (Sandbox Code Playgroud) 我想在我的网络服务器上调用 cfc 文件,但总是收到错误:未提供所需的参数 [UserID]。
冷融合代码:
<CFINVOKE component="changeTree" method="getTreeWidth" returnVariable="httpTreeWidth">
<cfinvokeargument name="UserID" value="#checklogin.UserID#">
</CFINVOKE>
Run Code Online (Sandbox Code Playgroud)
更改树.cfc:
<CFFUNCTION name="getTreeWidth">
<CFPARAM name="UserID" required="true">
...
Run Code Online (Sandbox Code Playgroud)
感谢帮助。
我的服务器上有一个.cfc,用于运行查询并将结果发送回phonegap应用程序.我无法正确检查语法是否在查询中返回任何数据并在结果中发回一个字符串,如"找不到数据"来显示.这是我的代码......
remote array function getintList() {
var q = new com.adobe.coldfusion.query();
q.setDatasource("myData");
q.setSQL("select id1, Date, ShowLInk, IntName, description from myData Where intyear = #dateformat(Now(), "YYYY")# order by date desc");
var data = q.execute().getResult();
var result = [];
for(var i=1; i<= data.recordCount; i++) {
arrayAppend(result, {"id"=data.id1[i], "name"=data.IntName[i], "date"=dateformat(data.date[i], "mmmm d, yyyy"), "description"=data.description[i], "showlink"=data.ShowLInk[i]});
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
想也许我可以做这样的cfif语句,但它不起作用......
<cfif data.recordcount lt 1>
result = "no data"
return result;
<cfelse>
return result;
</cfif>
Run Code Online (Sandbox Code Playgroud)
希望可以有人帮帮我.