Javascript Coldfusion下载文件
我想通过调用coldfusion函数的ajaxget请求下载文件,但问题是,在dev工具的“network”选项卡中,我可以“看到”内容,但它没有下载 这是我的coldfusion函数,它存储在cfc中:Javascript Coldfusion下载文件,javascript,ajax,coldfusion,cfml,coldfusion-11,Javascript,Ajax,Coldfusion,Cfml,Coldfusion 11,我想通过调用coldfusion函数的ajaxget请求下载文件,但问题是,在dev工具的“network”选项卡中,我可以“看到”内容,但它没有下载 这是我的coldfusion函数,它存储在cfc中: <cffunction name="download" access="remote" output="true"> <cfset file_name = "Test.xlsx"> <cfheader name='Content-Dispositi
<cffunction name="download" access="remote" output="true">
<cfset file_name = "Test.xlsx">
<cfheader name='Content-Disposition' value='attachment; filename=#file_name#' charset='utf-8'>
<cfcontent type="application/msexcel" file="#file_name#" deletefile="false">
</cffunction>
以下是我的ajax调用:
<script>
$.ajax({
method: "GET",
url: "ses/dev.cfc",
data: {
method: 'download'
},
cache: false,
success: function(data) {
console.log("Downloaded");
},
error: 'Not downloaded'
});
</script>
$.ajax({
方法:“获取”,
网址:“ses/dev.cfc”,
数据:{
方法:“下载”
},
cache:false,
成功:功能(数据){
控制台日志(“下载”);
},
错误:“未下载”
});
下面是我的结果:
我想您会发现,下载功能应该在Ajax中删除,并将其移动到不同的进程中。。。可以在不同的URL上调用它,如下所示:
http://websiteurl.com/download.php?file=xxxxx&sec_string=xxxxxx
etc
我希望这是有意义的:)如果您想将此文件下载到您的计算机,您需要向服务器发出HTTP GET请求,而不是XMLHttpRequest(Ajax)GET.我认为您需要以.cfm而不是.cfc中的函数的形式来执行此操作。为什么要通过在等式中添加javascript使文件下载的简单问题变得复杂?@DanBracuk我可以问您如何执行此操作吗?我会有一个Cold Fusion页面(.cfm)最后两行代码是
和
标记。是的,这是可行的,但我仍然不知道为什么它不起作用