Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ext.Ajax.request如何在get操作中设置响应头_Javascript_Firefox_Extjs_Extjs4_Extjs4.1 - Fatal编程技术网

Javascript Ext.Ajax.request如何在get操作中设置响应头

Javascript Ext.Ajax.request如何在get操作中设置响应头,javascript,firefox,extjs,extjs4,extjs4.1,Javascript,Firefox,Extjs,Extjs4,Extjs4.1,我使用的是ExtJS4.1,我想从url获取一个文件并下载到正确的位置。 我只想设置响应头 我想将“内容类型”设置为不同的值(例如“应用程序/强制下载”)。这对我来说是必要的,否则firefox不会将文件保存到下载目录 这是我的示例代码。错误在哪里/我必须在哪里将信息添加到响应标题 var certurl = 'http://' + myurl +'/myfile.groovy'; Ext.Ajax.request({ method : 'GET',

我使用的是ExtJS4.1,我想从url获取一个文件并下载到正确的位置。 我只想设置响应头

我想将“内容类型”设置为不同的值(例如“应用程序/强制下载”)。这对我来说是必要的,否则firefox不会将文件保存到下载目录

这是我的示例代码。错误在哪里/我必须在哪里将信息添加到响应标题

var certurl = 'http://' + myurl +'/myfile.groovy';
Ext.Ajax.request({
            method : 'GET',
            url : 'http://' + myurl +'/myfile.groovy', //this file exixst!!!
            success : function(response, opts) {
                var link = document.createElement("a");
                var fileName = 'myfile.groovy'
                link.download = fileName;
                link.href = certurl;
                link.click();
},
            failure : function(response, opts) {}
                            });

在哪里设置响应头?在服务器中。您可以从客户端操作的头文件只有请求的头文件。我从您的代码中可以理解,您正在创建一个链接并“单击”以尝试触发文件下载。您是否试图使用Ajax请求触发文件下载?是的,正确@rixo我没有设置实际的响应头。我认为(这是真的吗??)框架为我设置了它们,但defeult头对我来说并不好。我使用ajax只是为了创建一个链接,并通过编程方式单击它;该文件位于tomcat目录中的已知位置,因此我不知道在哪里设置标题…我认为您应该只使用
document.location='http://'+myurl+'/myfile.groovy'
这是浏览器行为,您无法更改它。唯一的方法是更改服务器上的“内容类型”。