Coldfusion post 表单异步到 cfc
Coldfusion post form to cfc asynchronously
首先,让我先声明,我正在开发的产品将供那些天生无法访问 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 有能力做到这一点,(当然,如果它没有,我也不会感到惊讶)。
异步 post 仅在您希望用户在后台上传表单时与表单所在的网页进行交互时才有用。如果这是你想要的,你 should/can 使用 jquery.
如果同步也是一种选择。然后将表单上传到.cfm 文件,运行.cfm 文件上的cfc 等待组件的响应,然后使用cflocation 将.cfm 文件重定向到一个网页,通知访问者其上传已处理. (使用 cflocation 来防止多次提交)。
例如
<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>
首先,让我先声明,我正在开发的产品将供那些天生无法访问 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 有能力做到这一点,(当然,如果它没有,我也不会感到惊讶)。
异步 post 仅在您希望用户在后台上传表单时与表单所在的网页进行交互时才有用。如果这是你想要的,你 should/can 使用 jquery.
如果同步也是一种选择。然后将表单上传到.cfm 文件,运行.cfm 文件上的cfc 等待组件的响应,然后使用cflocation 将.cfm 文件重定向到一个网页,通知访问者其上传已处理. (使用 cflocation 来防止多次提交)。
例如
<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>