是否可以输出文件作为来自ajax调用的响应? 我编写了一个使用ajax调用输出zip文件的函数,这是代码:
<script type="text/javascript">
$(document).ready(function () {
$(".ziplink").click(function (e) {
e.preventDefault();
var url = $(this).attr('href');
var spinner = $(this).parent().children(".spinnerbox");
spinner.show();
$.ajax({
url:url,
type:"GET",
dataType:"application/x-zip-compressed",
success:function (data) {
console.log('success');
spinner.hide();
},
error:function () {
console.log('ko');
spinner.hide();
}
});
});
});
</script>
现在,从firebug控制台一切都很好,但我没有文件输出。缺少什么?
虽然这在非ajax方式(操作的简单链接)中完全有效,但我希望在服务器处理请求时拥有微调器动画。
thanx - LuKe
答案 0 :(得分:1)
$(".ziplink").click(function (e) {
e.preventDefault();
var _self = $(this);
$('.spinner').show();
$.ajax({
type : 'HEAD',
url : _self.attr('href'),
complete : function(){
$('.spinner').hide();
var _tmp = $('<iframe />')
.attr('src', _self.attr('href'))
.hide()
.appendTo(_self)
setTimeout(function(){
_tmp.remove();
},5000);
}
});
});