我们有一名姓氏为Null的员工.当该姓氏用作搜索词时,我们的员工查找应用程序将被终止(现在经常发生这种情况).收到的错误(感谢Fiddler!)是:
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>coldfusion.xml.rpc.CFCInvocationException: [coldfusion.runtime.MissingArgumentException : The SEARCHSTRING parameter to the getFacultyNames function is required but was not passed in.]</faultstring>
Run Code Online (Sandbox Code Playgroud)
可爱,对吧?
参数类型是string
.
我在用:
请注意,从ColdFusion页面调用Web服务作为对象时,不会发生错误.
yayQuery播客的第11集提到$ .ajax上下文选项.如何在成功回调中使用此选项?我目前正在做的是将输入参数传递回成功回调,以便我可以设置成功/错误后调用的id的动画.如果我使用context选项,那么也许我不必从被调用的例程中传回参数.
在此示例中,我将STATEID传递回success字段,以便在从数据库中删除状态后从DOM中删除状态:
$('td.delete').click(function() {
var confirm = window.confirm('Are you sure?');
if (confirm) {
var StateID = $(this).parents('tr').attr('id');
$.ajax({
url: 'Remote/State.cfc',
data: {
method: 'Delete',
'StateID': StateID
},
success: function(result) {
if (result.MSG == '') {
$('#' + result.STATEID).remove();
} else {
$('#msg').text(result.MSG).addClass('err');;
};
}
});
}
});
Run Code Online (Sandbox Code Playgroud) 这是我对如何使用打印机的基本理解ColdFusion
.
我的问题:有没有办法在不重启CF服务的情况下重新加载打印机?
这是我们正在尝试解决的问题.CF错误细节:
Error: Printer \\(server)\(printerName) is not available. Available printers are: , ???, , , , ???, , ???, , .
Run Code Online (Sandbox Code Playgroud)
重新启动CF服务修复了这个问题,但最近似乎经常发生这种情况.我想知道是否有一些java代码重新加载打印机,所以它可以自动完成.我们正在使用CF9.
我正在接管很多ColdFusion的东西,这些东西在我们的商店里挥之不去,他们坚持要留在ColdFusion上,并且这个领域的新项目必须在CF中完成 - 基本上这部分是不可协商的.我在CF方面不是很有经验(自2003年以来没有触及它)因此我的大部分开发工作都是在过去的4到5年中使用.Net,MVC,C#,Linq-to-SQL.
我正在寻找一个MVC框架,我可以将我的Asp.Net MVC体验与希望集成的ORM相关联(我至少暂时使用CF 8).我发现了一些像模型和胶水,Mach II和Coldbox等但我真的不知道从哪里开始,并希望从使用者那里得到一些关于它们的优点,缺点等的意见他们.
我知道我需要对CFML进行大量的刷新(几乎是重新学习),所以我不需要被告知 - 我在这里展望未来.
您能否分享一下您在CF MVC框架上的任何信息,以帮助我选择哪一个最适合我?谢谢.
model-view-controller coldfusion frameworks coldfusion-8 cfml
我在ColdFusion 9上的Flash Forms有问题,在ColdFusion 8下完美运行.在浏览器中查看flash表单时,表单元素本身显示正确,但每个字段的数据都不会在输入元素中呈现,并且提交表格时不在场.当页面加载时,我收到一个错误:
964024021.mxml.cfswf:1 ReferenceError: Can't find variable: updateHiddenValue
Run Code Online (Sandbox Code Playgroud)
该函数updateHiddenValue
是一个定义的函数/CFIDE/scripts/cfform.js
,它被加载到页面中.如果我使用控制台并直接运行该功能,它运行没有问题:
为了弄清楚为什么会发生这种情况,我解雇了Charles并查看了对服务器的请求.正如您在下面的屏幕截图中看到的那样,.js文件会收到200条响应,表明它们很适合,但cfswf
请求会出现"连接已关闭"错误,然后是200条请求.该cfswf
请求明显整理正确,否则我不会看到闪存形式的.
所以我需要弄清楚为什么我会收到这些.js
错误,所以我可以得到这个flash表格.我只能假设错误来自事物的闪存方面或通过Flash Remoting(?),我只是不知道如何调试此问题并使事情向前发展.
我想在ColdFusion Query对象中获取特定行而不循环它.
我想做这样的事情:
<cfquery name="QueryName" datasource="ds">
SELECT *
FROM tablename
</cfquery>
<cfset x = QueryName[5]>
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误,说该查询不能被"5"索引.我知道这个查询中有超过5条记录.
是否有一种内置方式可以在ColdFusion中连接两个数组,类似于JavaScript array.concat()
?
我正在使用Coldfusion9与第三方SOAP服务进行交互,我需要使用它来发送和接收带附件的SOAP.通过在HTTP内容周围使用ToString()将SOAP Body转换为可用的字符串,我在接收可能有也可能没有二进制附件的SOAP方面没有任何问题,但是服务要求我也使用附件发回我的响应这是我要撤消的地方.我在ColdFusion中从未这样做过,我不确定如何将其呈现给原始服务,以便通过ID引用SOAP主体.
下面是使用附件解析传入的SOAP数据:
<cfset soapData = GetHttpRequestData()>
<!--- Loop over the HTTP headers and dump the SOAP content into a variable --->
<cfsavecontent variable="soapContent">
<cfoutput>
<cfloop collection = #soapData.headers# item = "http_item">
#http_item#: #StructFind(soapData.headers, http_item)# #chr(10)##chr(13)#
</cfloop>
request_method: #soapData.method# #chr(10)##chr(13)#
server_protocol: #soapData.protocol# #chr(10)##chr(13)#
http_content --- #chr(10)##chr(13)#
#toString(soapData.content)#
</cfoutput>
</cfsavecontent>
<!--- Save file to flat file --->
<cffile action = "write"
file = "#expandPath('../')#logs/#dateFormat(now(),'dd-mm-yyyy')#_#timeFormat(now(),'HHmmss')#.txt"
output = "#soapContent#">
Run Code Online (Sandbox Code Playgroud)
现在,我正在将响应呈现为一个完整的SOAP XML响应,其中包含作为内联XML的主体以及所需的STATUSCODE(参见下文).
<cfsavecontent variable="strResponse">
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">
<SOAPENV:Body>
<ns1:processResponse xmlns:ns1="urn:TripFlow" …
Run Code Online (Sandbox Code Playgroud) 我想要一个查询,其列是一个不是来自表的硬编码值,可以这样做吗?我基本上需要它作为占位符,我将在稍后回来并填写.
例:
SELECT
hat,
shoe,
boat,
somevalue = 0 as placeholder
FROM
objects
Run Code Online (Sandbox Code Playgroud)
然后我会在稍后循环查询并填写占位符
在这个例子中someValue不是对象中的一个字段,我需要伪造它.我在coldfusion中执行此操作并使用两个数据源来完成一个查询.我已经尝试过space()函数但是无法让它工作.
谢谢.
我正在寻找一种方法来创建一个简单的HTML表,可以在数据库更改事件时实时更新; 特别添加了一条新记录.
换句话说,将其视为执行仪表板.如果进行了销售并在数据库中添加了新行(在我的情况下是MySQL),那么网页应该用新行"刷新"表格.
我已经看到了一些关于新EVENT GATEWAY
用法的信息,但所有的例子都使用Coldfusion作为"推动者",而不是"消费者".我想让Coldfusion将事件更新/推送到网关并消耗响应.
如果可以使用AJAX和CF的组合完成,请告诉我!
我真的只是想了解从何处开始实时更新.
先感谢您!!
编辑/所选答案的说明:
我最终选择@ bpeterson76的答案,因为目前最简单的实施是小规模的.我真的很喜欢他的Datatables建议,这就是我用来近乎实时更新的内容.
随着我的网站越来越大(希望如此),我不确定这是否是一个可扩展的解决方案,因为每个用户都会点击"监听器"页面,然后再查询我的数据库.我的查询相对简单,但我仍然担心将来的性能.
在我看来,随着HTML5开始成为Web标准,@ iKnowKungFoo建议的Web套接字方法很可能是最好的方法.使用长轮询的Comet也是一个好主意,但它实现起来有点麻烦/似乎也有一些扩展问题.
因此,我们希望网络用户开始采用支持HTML5的更现代的浏览器,因为Web套接字是一种相对简单且可扩展的方式来接近实时.
如果您认为我做出了错误的决定,请发表评论.
最后,这里有一些源代码:
使用Javascript:
请注意,这是一个非常简单的实现.它只是想查看当前数据表中的记录数是否已更改,如果是,则更新表并发出警报.生产代码更长,更复杂.这只是展示了一种接近实时更新的简单方法.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.js"></script>
<script type="text/javascript" charset="utf-8">
var originalNumberOfRecsInDatatable = 0;
var oTable;
var setChecker = setInterval(checkIfNewRecordHasBeenAdded,5000); //5 second intervals
function checkIfNewRecordHasBeenAdded() {
//json object to post to CFM page
var postData = {
numberOfRecords: originalNumberOfRecsInDatatable
};
var ajaxResponse = $.ajax({
type: "post",
url: "./tabs/checkIfNewItemIsAvailable.cfm",
contentType: "application/json",
data: JSON.stringify( postData )
})
// When the response comes back, if update is …
Run Code Online (Sandbox Code Playgroud) coldfusion ×10
cfml ×3
coldfusion-9 ×2
soap ×2
actionscript ×1
ajax ×1
apache-flex ×1
arrays ×1
cfquery ×1
coldfusion-8 ×1
flash ×1
frameworks ×1
java ×1
jquery ×1
mysql ×1
printers ×1
printing ×1
real-time ×1
sql ×1
wsdl ×1