Javascript Coldfusion下载文件

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

我想通过调用coldfusion函数的ajaxget请求下载文件,但问题是,在dev工具的“network”选项卡中,我可以“看到”内容,但它没有下载

这是我的coldfusion函数,它存储在cfc中:

<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)最后两行代码是
标记。是的,这是可行的,但我仍然不知道为什么它不起作用