我正在尝试在调用 CFC 的表单上创建一个模式,以根据我在 Internet 上找到的示例和一些研究的组合来更新数据并返回结果。我已经或多或少地工作了,但是在定义我的参数时遇到了一个奇怪的问题,其中我传递的值作为我传递的值的逗号分隔字符串副本进入我的 CFC 函数。我的代码看起来像这样:
Javascript:
var amodal = $("##my-modal-form").dialog({
bgiframe: true,
modal: true,
buttons: {
'Update Data': function() { $("##modal-form-test").submit(); },
Cancel: function() { $(this).dialog('close'); aform.resetForm(); }
}
});
submitHandler: function(form) {
jQuery(form).ajaxSubmit({
target: '##client-script-return-data',
data: {
fullname: $('##fullname').val(),
email: $('##email').val()
},
success: function() { $('##my-modal-form').dialog('close'); successEvents('##client-script-return-msg'); }
});
}
冷融合:
<cffunction name="userModalTest" access="remote" output="false" returnformat="json">
<cfargument name="fullname" type="any" required="true" default="" hint="unknown arg type" />
<cfargument name="email" type="any" required="true" default="" hint="" />
<cfset var testVar = '' />
<cfset testVar = serializeJSON(arguments) />
<cfreturn testVar />
</cffunction>
当我传入我的文本字符串参数并转储结构时,我的全名和电子邮件参数是重复值,例如“全名:测试,测试”而不是“全名:测试”。我可以通过不定义 submitHandler 函数中的数据值或不定义 CFC 中的参数来阻止这一点,但据我了解,这些解决方案都不应该真正起作用,所以我不太明白发生了什么。