我使用JavaScript来捕获所有复选框在flexigrid检查,并尝试这个数组的行ID发送到CFC传递的JavaScript数组的ColdFusion CFC通过JSON
function removeCertidao(){
var allVals = [];
$("input[id='certidao']:checked").each(function() {
allVals.push($(this).val());
});
if (allVals.length == 0) {
alert('É necessário escolher ao menos uma certidão.');
return false;
} else {
alert(allVals);
}
$.ajax({
type: "post",
url: "../../CFC/CRC.cfc",
data: {
method: "removeCertidaoCRC",
numSeqCertidao: allVals,
},
dataType: "json",
success: function(){
alert('YES');
},
error: function(){
alert('NO');
}
});
}
CFC下面
<cffunction access="remote" name="removeCertidaoCRC" returntype="boolean">
<cfargument name="numSeqCertidao" type="array" required="true">
<cftry>
<cftransaction>
<cfquery datasource="portalCompras">
UPDATE CRC_CERTIDAO CC
SET CC.ncdcrcstatus = 0
WHERE CC.NCDCRCCERTIDAO in <cfqueryparam value="#numSeqCertidao#"
cfsqltype="cf_sql_integer"
list="yes">
</cfquery>
</cftransaction>
<cftransaction action="commit" />
<cfreturn 0>
<cfcatch type="any">
<cftransaction action="rollback" />
<cfreturn #cfcatch.message#>
</cfcatch>
</cftry>
</cffunction>
当我尝试运行此函数时,我的服务器答复传递给removeCertidaoCRC函数的NUMSEQCERTIDAO参数不是类型数组。
我在最近刚刚进入的延迟项目中缺少选项。
这完美的作品......但现在在阿贾克斯成功/错误功能不工作...它总是落在错误,但记录在数据库 – lagranzotto 2011-12-27 18:26:26
改变可能是因为您期待json,请尝试从ajax调用中移除数据类型参数或将其更改为text/html – 2011-12-27 18:33:05