我遇到一个问题,我正在使用 Ben Nadel 的 QueryAppend.cfc 连接来自两个不同数据源的两个记录集。我得到的数据是正确的,但数据的顺序不是预期的。组合结果集的排序如下,所有结果都以小写字母开头附加到记录集的底部:
我期待(并且需要)以下类型的排序:
苹果
艺术
瓶子
男生
猫
硬币
镖
狗
代码如下:
<!---Calling Template--->
<cfquery name="getDataSet1" datasource="datasource1">
SELECT param1
FROM table1
</cfquery>
<cfquery name="getDataset2" datasource="datasource2">
SELECT param1
FROM table2
</cfquery>
<cfscript>
// Create object
TheUnionObject = createObject("component", "cfc/QueryAppend");
// Call the function
myUnionResult = TheUnionObject.QueryAppend(getDataSet1, getDataSet2);
</cfscript>
<!---Dump results--->
<cfdump var="#myUnionResult#">
<!---QueryAppend.cfc--->
<cfcomponent>
<cffunction name="QueryAppend" access="public" returntype="query"
output="false"
hint="This takes two queries and appends the second one to the first one.
Returns the resultant …Run Code Online (Sandbox Code Playgroud) 我正在调用cfc,cfc有一组默认参数:
<cfargument name="EMAIL_TEMPLATE_CODE" type="string" required="yes" hint="EMAIL_TEMPLATE_CODE is required.">
<cfargument name="EMAIL_TEMPLATE_SUBJECT" default="" type="string" required="no" hint="EMAIL_TEMPLATE_SUBJECT is NOT required.">
<cfargument name="EMAIL_TEMPLATE_BODY" default="" type="string" required="no" hint="EMAIL_TEMPLATE_BODY is NOT required.">
Run Code Online (Sandbox Code Playgroud)
我想做的是让这些参数不被要求(正如你可以通过required ="no"看到的那样)但是如果需要的话我想重新分配参数变量.
所以类似于:
<cfargument name="EMAIL_TEMPLATE_CODE" type="string" required="yes" hint="EMAIL_TEMPLATE_CODE is required.">
<cfargument name="EMAIL_TEMPLATE_SUBJECT" default="" type="string" required="no" hint="EMAIL_TEMPLATE_SUBJECT is NOT required.">
<cfargument name="EMAIL_TEMPLATE_BODY" default="" type="string" required="no" hint="EMAIL_TEMPLATE_BODY is NOT required.">
<cfinvoke component="#Request.CFCPath#.email_template" method="getEmailTemplate" returnvariable="getEmailTemplate">
<cfinvokeargument name="EMAIL_TEMPLATE_CODE" value="#ARGUMENTS.EMAIL_TEMPLATE_CODE#">
</cfinvoke>
<cfif getEmailTemplate.RecordCount>
<cfparam name="ARGUMENTS.EMAIL_TEMPLATE_SUBJECT" default="#getEmailTemplate.EMAIL_TEMPLATE_SUBJECT#" type="string">
<cfparam name="ARGUMENTS.EMAIL_TEMPLATE_BODY" default="#getEmailTemplate.EMAIL_TEMPLATE_BODY#" type="string">
</cfif>
Run Code Online (Sandbox Code Playgroud)
但是我无法覆盖默认的ARGUMENTS变量.你能发现我做错了吗?
编辑:
我这样做是因为如果没有参数传递给cfc,我想创建一个.如果参数没有长度,我想我应该cfset一个局部变量?
<cfif Len(ARGUMENTS.EMAIL_TEMPLATE_ADDRESS_FROM)>
<cfset EMailTemplateAddressFrom …Run Code Online (Sandbox Code Playgroud) 我被要求更新一个旧项目.当我进入cfc文件时,它有超过3000行代码和超过100个cffunctions.我想知道我是否可以将cfc拆分成多个文件,其cffunction逻辑分组而不必更改任何其他页面中的代码.
我正在向查询数据库的cfc文件发出请求.我将这些结果存储在结构,数组或其他方式中吗?根据我存储和返回结果的方式,我如何处理jQuery中的各个部分?
我尝试将结果存储在一个数组中,只显示其中一个结果,这样做不起作用:
$.ajax({
type: "POST",
url: "/ajax/ajax_test.cfc?method=ajaxTest",
data:"field1=17",
success: function(response) {
var r=response;
$(".cat_vid_subContainer").empty();
$(".cat_vid_subContainer").html(r.DATA[2]);
}
});
Run Code Online (Sandbox Code Playgroud) 我正在开发一个ColdFusion动态网站.对于这个网站,每个CFC中都有很多CFC和许多功能. 将CFC实例存储在应用程序变量中,然后在每个页面加载时单独实例化每个CFC会更有效吗?
对于每个页面,最多调用2个单独的CFC.我也对如何在请求增加(压力)时影响性能感兴趣.
谢谢!
我在标签内调用函数(JoblistAdd).
请参阅Index.cfm中的以下代码
<cfajaxproxy cfc="TimesheetHours" jsclassname="js_TimesheetHours">
<script >
var obj_TimesheetHours = new js_TimesheetHours();
var strMsglist=
obj_TimesheetHours.JoblistAdd(selectedJobArray,userID,weekending,tsApproved);
</script>
Run Code Online (Sandbox Code Playgroud)
下面是组件代码TimesheetHours.CFC
<cffunction name="JoblistAdd" >
<cfargument name="AddList" required="yes" >
<cfargument name="userID" required="yes" >
<cfargument name="weekending" required="yes" >
<cfargument name="Approved" required="false" >
<cfset JobArray =arguments.AddList>
<cfset userID =arguments.userID>
<cfset weekending =arguments.weekending>
<cfset tsApproved =arguments.Approved>
<cfdump var="#JobArray #"><cfabort>
</cffunction>
Run Code Online (Sandbox Code Playgroud)
但我无法到达转储,我认为它不会进入功能,请分享您的想法
我正在根据从下拉列表中选择的值更新变量,它只是不起作用.
在这个网站上我有另一个CFC工作正常,但是这个只是完全拒绝发布数据.
jQuery的
$('.accessLevel').change(function() {
var theValue = $('.accessLevel').val();
$.ajax({
type: "post",
url: "setLevel.cfc",
data: {
method: "theLevel",
alevel: theValue
},
dataType: "json",
success: function(){
alert('YES');
},
error: function(){
alert('NO');
}
});
})
Run Code Online (Sandbox Code Playgroud)
HTML
<select name="accessLevel" class="accessLevel">
<option value="">Select an Access Level</option>
<option value="1">Level One</option>
<option value="2">Level Two</option>
<option value="3">Level Three</option>
</select>
Run Code Online (Sandbox Code Playgroud)
CFC
<cfcomponent>
<cffunction name="theLevel" access="remote" returntype="any">
<cfargument name="alevel" type="any" required="yes">
<cfset SESSION.accessLevel = argument.alevel>
<cfreturn />
</cffunction>
</cfcomponent>
Run Code Online (Sandbox Code Playgroud)
变量theValue正在填充,它只是不会传递给CFC,我不知道为什么!我得到的错误是这个..
Element ALEVEL is undefined in ARGUMENT.
Run Code Online (Sandbox Code Playgroud) 所以我正在开发一个ColdFusion网站,今天早上我们发现谷歌正在抓取我们的网站并关注cfc并收到500错误.我们使用cfc和ajax调用,因此不应该对它们进行爬网.我们该如何解决这个问题?
我有一个相当简单的CFC,带有一组属性,然后是一些与这些属性相关的基本功能.除了作为阵列的属性外,一切似乎都能正常工作......
property name="tags" type="array";
Run Code Online (Sandbox Code Playgroud)
这是该物业的简单声明.但是,当我尝试在其中一个成员函数中对它执行操作时,我收到错误...
public void function addTag(thisTag) {
var local.tags = this.getTags();
if (thisTag.isObjectValid()) {
*ArrayAppend(local.tags,arguments.thisTag);*
this.setTags(local.tags);
}
}
Run Code Online (Sandbox Code Playgroud)
与星星的线是我得到错误的地方(星星不在代码中)
Element TAGS is undefined in LOCAL.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
附加信息:
我的函数运行查询,它根据请求的数据花费一些时间.在查询运行时,我想显示实际查询加载cfprogressbar和更改状态/标题,而cfprogressbar正在进行.即时通讯仍然在谷歌搜索到现在没有运气所有示例显示静态时间.
我在想,如果我能得到真正的cfquery加载时间,我会将该值传递给cfprogressbar.请指教
cfc ×10
coldfusion ×9
cfquery ×2
jquery ×2
ajax ×1
cfml ×1
invoke ×1
performance ×1
qoq ×1
web-crawler ×1