Coldfusion后期形成异步cfc

时间:2015-03-04 22:09:14

标签: javascript jquery forms coldfusion

首先,让我首先说我正在开发的产品将被那些本身不具备访问HTML5的人使用。一些人仍将使用IE8。我的表格如下:

<form action="ee.cfc?method=xlsupload" enctype="multipart/form-data" method="post"
    <input type="file" id="xlsfile" name="xlsfile" required>
    <input type="submit" value="Upload XLS">
</form>

在我的.cfc文件中,我有一个处理文件并将其转换为结构的函数(在用户验证数据后将上传到数据库)。目前我已将其设置为<cfreturn SerializeJSON(dataset,true)>。但是,当我提交表单时,它会打开cfc文件并显示JSON结构。我以前在JQuery中做过很多表单提交等,但有没有办法在没有JQuery的情况下做到这一点?人们希望Coldfusion能够做到这一点,(当然,如果它没有,我当然不会感到惊讶。)

1 个答案:

答案 0 :(得分:1)

只有当您希望用户在后台上传表单时与表单所在的网页进行交互时,异步发布才有用。如果这是你想要的,你应该/可以使用jquery。

如果同步也是一种选择。然后将表单上传到.cfm文件,在.cfm文档上运行cfc等待组件的响应,然后使用cflocation将.cfm文档重定向到通知访问者其上载已被处理的网页。 (使用cflocation来防止多次提交)。

e.g。

<form action="upload.cfm" enctype="multipart/form-data" method="post">
<input type="file" id="xlsfile" name="xlsfile" required>
<input type="submit" value="Upload XLS">
</form>

upload.cfm

<cfset yourComponent = createObject('component','/cfc/ee')>
<cfset response = yourComponent.functionName(form.xlsfile)>
<Cflocation url="done.cfm">

done.cfm

<html>....</html>