я использовать этот JavaScript, чтобы захватить все флажки проверяются в Flexigrid и попытайтесь отправить этот массив строк идентификаторов к CFCПередача яваскрипта массив 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>
Когда я пытаюсь запустить эту функцию, мой сервер отвечает, что аргумент NUMSEQCERTIDAO, переданный функции removeCertidaoCRC, не относится к массиву типов.
У меня заканчиваются варианты в отложенном проекте, в который я вступил совсем недавно.
Это работает безупречно ... но теперь функция успеха/ошибка в AJAX не работает ... он всегда падает на ошибках, но записи были изменены в базе данных – lagranzotto
Вероятно, потому что вы ожидаете json, попробуйте удалить параметр типа данных из вызова ajax или изменить его на text/html –