为了账号安全,请及时绑定邮箱和手机立即绑定

使用ajax下载文件不适用于firefox

使用ajax下载文件不适用于firefox

C#
MMMHUHU 2021-11-28 19:53:17
我正在尝试使用 Ajax 下载生成的文件 (pdf),它在 Chrome 和 IE 中运行良好,但在 FireFox 中却没有。这是我的代码:function Download(urlAction, urlDownload) {    $.ajax({        type: "post",        url: urlAction,        data: {            'itemIds': checkedItems,            'dateMin': datemin.toISOString(),            'dateMax': datemax.toISOString()        },        datatype: "json",        traditional: true,        success: function (data) {            console.log('fff', data);            if (data.success) {                window.location = urlDownload;            }        }        error: function (xhr, textStatus, err) {            console.log("readyState: " + xhr.readyState);            console.log("responseText: " + xhr.responseText);            console.log("status: " + xhr.status);            console.log("text status: " + textStatus);            console.log("error: " + err);        }    });}}在 UrlAction 中,我以 Json 格式生成文件并将其发布到会话中,然后在我的 urlDownload 中再次调用它。在 Chrome 和 IE 中,无需重新加载页面即可下载文件,但在 Firefox 中,它只会重新加载页面。错误说:准备状态:0响应文本:未定义状态:0文本状态:错误错误:未定义
查看完整描述

2 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

Jquery $.ajax说:

dataType(默认值:Intelligent Guess(xml、json、script 或 html)) 类型:String 您期望从服务器返回的数据类型。如果没有指定,jQuery 将尝试根据响应的 MIME 类型推断它

所以你可以先尝试删除参数。

关于你的错误状态,0你可以在这里找到详细的原因: XMLHttpRequest status 0 (responseText is empty)

关于您的错误处理程序,error: function (xhr, textStatus, err)

  1. xhr.status显示原因,您必须检查您的服务器端配置;但你没有提到什么是服务器环境。

  2. textStatus可以下值:"timeout", "error", "abort", and "parsererror";

  3. err 如果请求未到达您的服务器端位置,则可能未定义;

这是官方文档:

类型:Function( jqXHR jqXHR, String textStatus, String errorThrown ) 请求失败时调用的函数。该函数接收三个参数:jqXHR(在 jQuery 1.4.x 中,XMLHttpRequest)对象、描述发生的错误类型的字符串和可选的异常对象(如果发生)。第二个参数(除了 null)的可能值是“超时”、“错误”、“中止”和“解析器错误”。当发生 HTTP 错误时,errorThrown 接收 HTTP 状态的文本部分,例如“未找到”或“内部服务器错误”。从 jQuery 1.5 开始,错误设置可以接受函数数组。每个函数都会被依次调用。注意:对于跨域脚本和跨域 JSONP 请求,不会调用此处理程序。这是一个 Ajax 事件。


查看完整回答
反对 回复 2021-11-28
?
波斯汪

TA贡献1811条经验 获得超4个赞

对我有用的是我将按钮(调用此方法的按钮)从表单 div 中移除,并且它停止重新加载页面,下载就像一个魅力。


查看完整回答
反对 回复 2021-11-28
  • 2 回答
  • 0 关注
  • 196 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信