ExtJS中FormPanel设置FileUpload为true后,提交返回下载文件的解决

【低轨】Starlink星链-Ku波段下行信号信号结构解析 Starlink播发位于10.7~12.7GHz之间的下行信号,该信号的设计意图是用于宽带网络通信,但是,文章通过对该信号信号体制的详细分析,以及解调出所调制的完整码序列,为利用Starlink信号进行定位解算提供了必要条件。(注,码序列对应的是卫星版本0.9,1.0和1.5) 阅读详情

在ExtJS中,如果设置FormPanel的FileUpload为true后,在IE里,submit后就会变成以文件形式下载返回的Json字符串。在FireFox中就无法执行submit的success和failure的回调函数。

解决方法就是不要返回Json,返回Content。

即例如:

return Json(new
{
    name = "Tom",
    age = 18
});
return Content(new
{
    name = "Tom",
    age = 18
}.SerializeToJson());
使用下者,不要使用上者。

其中SerializeToJson的代码如下:

namespace System.Web.Script.Serialization
{
    /// <summary>
    /// 为启用 AFAX 的应用程序提供序列化和反序列化功能。
    /// </summary>
    public static partial class JsonHelper
    {
        private static readonly JavaScriptSerializer _jss;

        static JsonHelper()
        {
            _jss = new JavaScriptSerializer();
        }

        /// <summary>
        /// 将当前对象转换为 JSON 字符串。
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="obj"></param>
        /// <returns>序列化的 JSON 字符串。</returns>
        public static string SerializeToJson<T>(this T obj)
        {
            return _jss.Serialize(obj);
        }

        /// <summary>
        /// 将指定的 JSON 字符串转换为 T 类型的对象。
        /// </summary>
        /// <typeparam name="T">所生成对象的类型。</typeparam>
        /// <param name="input">要进行反序列化的 JSON 字符串。</param>
        /// <returns>反序列化的对象。</returns>
        public static T Deserialize<T>(string input)
        {
            return _jss.Deserialize<T>(input);
        }
    }
}
项目中记得引用System.Web和System.Web.Extensions。

然后前台页面的代码中submit不处理success回调函数。

对failure作如下处理:

failure: function(form, action) {
    try {
        /*
         * 若转换对象过程中出现null,则是网络原因导致访问失败,在catch中处理
         * 返回的文本会在前后分别添加"<PRE>"和"</PRE>",用replace替换掉(这里偷懒一下,正确的方式应该用substring)
         * 接下来json字符串就可以转换回对象
         */
        var returnObj = Ext.decode(action.response.responseText.replace('<PRE>', '').replace('</PRE>', ''));
    } catch(e) {
        // 网络原因访问失败的情况
    }
}

华为OD机试 双机位A卷 - 流量波峰 (C++ & Python & JAVA & JS & GO) 华为OD机试双机位A卷 流量波峰,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解 阅读详情

相关推荐

NSX-T 4.1部署搭建

NSX-T4.1 部署搭建

weixin_58250887的博客 542

EXT 上传文件时加上fileUpload: true出错的问题。

Ext做文件上传的时候发现,如果上传成功后从后台取返回信息,出现错误。 Js代码   var importForm = new Ext.FormPanel({           labelAlign:'right',            buttonAlign:'right',            frame:true,           title: '',   

技术小站 963

突破Cloudflare 5秒盾:Python爬虫+GPT分析JS混淆,零基础也能爬

传统突破Cloudflare 5秒盾的门槛极高,需要精通JS逆向、浏览器指纹伪造、行为模拟,而本文的“Playwright+GPT”方案,彻底降低了门槛——无需懂逆向、无需手动改指纹、无需写复杂JS代码,只需3步就能突破大部分网站的防护。低门槛:新手1小时内就能上手,无需逆向工程知识;高成功率:覆盖80%+的普通防护网站,15%的中等防护网站;易扩展:适配不同类型网站,可结合代理、打码平台升级为高可用系统。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1145

简单的Ext文件上传,文件下载文件删除

最近有用Ext和后台的servlet完成了一套简单的文件管理功能,写了几天,不得不说,没有精通某个框架有时候还是比较坑的,所以写了3,4天。记录在这里方便自己以后复习也可以帮助有些和我一样需求的人绕坑。既然是简单所以就美誉文件上传时的文件类型判断,大小限制,等等,需要的可以自己加。开始吧: 1.上传模块 1.1前台部分 前台是用Ext写了一个弹出的表单,表单中的有一项,就是Ext的文件选择框

Haloby的博客 4912

extjs 上传文件 fileUpload

上传文件要是用asp.net的控件上传其实是很简单的问题,要是为了用户体验的提高很多的web开发人员都会采取很炫的ajax上传。 或是用flash想用的控件上传。今天我们看看extjs中如何很炫的上传文件或图片。 查了查资料发现extjs上传文件需要一个js文件FileUploadField.js,在extjs类库文件里可以找到。 FileUploadField.js代码如下:

afei3418的专栏 1545

extjs 文件上传

功能要求: 在mastplan页面添加按钮,实现上传excel文件的功能,并在保存之前读取文件内容将其保存到数据库里面。   具体实现:   ^_^ 先闪闪图片吧。 Jsp页面代码: 在tbar工具栏中添加一按钮: 单击此按钮,弹出一个上传文件的窗口 ,{id:"upload_excel",xtype: "butt

舒婷(Zoe) 6358

Extjs 使用fileupload插件上传文件 带进度条显示

一.首先我们看看官方给出的插件的解释: 一个文件上传表单项具有自定义的样式,并且可以控制按钮的文本和 像文本表单的空文本类似的其他特性。 它使用一个隐藏的文件输入元素,并在用户选择文件后 在form提交的同时执行实际的文件上传。 因为没有安全的跨浏览器以编程的方式对file表单项设值的方式, 所以标准表单项的 setValue 方法是无效的。 getvalue方法的返回值取决于使用何种...

woyizhizaizhaoni的专栏 823

利用extjs上传文件

1.首先引入FileUploadField.js和FileUploadField.css,网上应该有现成的文件,可以直接下载 2.前台     var InfoForm = new Ext.form.FormPanel({         frame: true,         autoHeight: true,         width: 400,         defau

MinFtSc的博客 2181

extjs与struts2整合实现文件上传之经历

前不久学习了一段时间的extjs,最近要做一个课程设计。学习extjs时候用的是《extjs in action》这本书。 -------------------------此为背景--------------------------------- 因为需要一个批量提交的功能 ,所以就想让extjs实现文件上传功能。 第一次google,得到的结果是,直接把 textfield 的

孙凯的专栏 3414

extjs文件上传成功后,却弹出了下载框!

extjs + struts 文件上传成功后,却弹出了下载框! 被这个问题困扰了3天,最后终于找到答案了,一般来说,如果要上传文件EXTJS的表单要加上一行:fileUpload: true, 例如:var panPath = new Ext.FormPanel({        id:panPath-form,        labelWidth: 30,   

after80的专栏 2824

extjs fileUpload文件上传时ie报错missing } in XML expression与火狐<pre>问题

最近在用ext3做一些小东西,用了它是上传控件,遇到了一些问题。记录一下。 对于文件上传来说,需要注意以下几个方面: 在FormPanel设置一个属性【fileUpload : 'true'】; &lt;!--[if !supportLists]--&gt;2.    &lt;!--[endif]--&gt;在jsp页面中引入FileUploadField.js文件,这个文...

cat_rat的博客 230

Extjs 文件上传

Extjs文件上传中可以使用ext上传组件Ext.ux.UploadDialog 该组件的下载地址http://max-bazhenov.com/dev/upload-dialog-2.0/index.php 但是我在使用该组件的时候,上传一直没有成功,后台一直取不到值。不知道是不是版本问题,我用的是2.1的。 ext上传组件Ext.ux.UploadDialog的使用可以参考http...

weixin_33817333的博客 72

extjs插件开发上传下载文件简单案例

前台,extjs,框架,mybatis,spring,springMVC,简单的文件上传下载案例。 必要的jar包,commons-fileupload-1.3.1.jar,commons-io-2.0.1.jar,commons-lang-2.6.jar 1、extjs前台,文件上传: 上传window。 Ext.ns('Ext.sms')Ext.sms.BaseRulesUploadW...

weixin_30466039的博客 105

ExtJS2.0+struts实现文件上传

ExtJS2.0+struts实现文件上传 Extjs+struts实现文件上传 本人最近一直在研究extjs,感觉其功能强大复杂,前段时间做了个项目,要使用extjs实现文件上传,下面写出研究成果,与各位一起分享。 1.fileUpload.js Ext.onReady(function(){ var form = new Ext.form.FormPanel({...

iteye_17017的博客 193

Extjs+C# 文件上传

var ImportPanel = new Ext.form.FormPanel({ baseCls: 'x-plain', frame: false,    //注意formPanel里面的fileUpload一定要打开 fileUpload: true, id: 'ImportPanel', url: 'Exc...

weixin_30508309的博客 88

extjs fileUpload文件上传时报错missing } in XML expression

在调用此方法时会发现json返回值被加上({success:true, msg:成功}) ext-all.js里报错。IE,fox里都报错,在网上找了下,有人在改ext-all.js再上网找了下发现在处理文件设置Response.ContentType = "text/html";就不会再报错了 记录下来

JrCandyNice的专栏 1716

extjs 限制上传文件类型_Extjs上传文件

[ 如果使用浏览器上传文件,通过抓包的方式查看http协议表头的内容可以知道: 1、在IE、Opera、google浏览器中是不允许上传2G以上的文件,http表头它会把文件的大小标Extjs有许多extension用于file上传。这里只说下最基本不使用任何extension。//form构成var form=new Ext.form.FormPanel({frame:true,fil...

weixin_42125826的博客 458

EXT.JS2.2表单上传文件

var uploadFile = new Ext.form.TextField({ fieldLabel: '上传文件', id:'file', name: 'uploadFile', height : 25, width : 860, blankTex...

小蜗牛的博客 929

Ext实现文件上传

Ext实现文件上传 最近在项目开发中用到Ext文件上传,在网上找到很多例子,不过大多数例子FormPanel中只包括一个文件上传的组件,表单中并没有包括其它内容,现在分享下包括其它内容的例子,具体步骤如下: 导入包:commons-fileupload.jar commons-io-1.3.2.jar 1、首先在页面中必须将表单设置:fileUpload:true 文件选择组件使用...

落英逸风 656

ExtJs上传文件

最近项目用到了ExtJs6.0.2版本,比现在主流的ExtJS框架都要前沿。 我之前用的是EasyUI上传的工作流部署的压缩文件,现在想用ExtJs来做。 废话不多说,上明码。 关于Ext.form.Panel相关的属性,我就不多说什么了,自己查询API文档即可。 重点在于按钮,bottons中,点击按钮触发的事件,那里定义了...

大宇的博客,欢迎访问 4867

EXT 3.x fileUpload之firefox错误

问题:设置fileUpload: true后上传文件后,返回json解析出错。 进行debug,发现由于ext的FileUploadField是伪ajax上传的做法,也就是生成了个frame,造成返回json后解析出其他一些内容。 更奇怪的是各个浏览器解析的内容并不相

leipengou的专栏 742

extjs fileUpload上传后返回报错missing } in XML expression

EXTJS上传文件后,页面接收到返回的json后报错:missing } in XML expression  使用firedebug跟踪了一下返回的数据, 发现 返回的json数据 responseText中被加上了&lt;pre&gt;&lt;/pre&gt;标签,当然是在fixfox中出现,在IE上却没有被加上&lt;pre&gt;&lt;/pre&gt;这样的标签,看...

donghanyi的专栏 273

使用ML方法和人工神经网络预测混凝土的抗压强.zip

使用ML方法和人工神经网络预测混凝土的抗压强.zip

ls-dyna-human-model.rar_LS-DYNA假人_dyna 假人_lsdyna假人_lsdyna假人模型_ls

lsdyna的假人模型,非常有价值,从国外弄来的,很难的,很复杂的,希望对大家有一定的帮助!

上一篇: Ext.Net在ASP.NET MVC中的文件上传
下一篇: ExtJS中DateField的值转换到.Net中DateTime结构体
h82258652
博客等级 码龄16年 4粉丝 45原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值