网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

上传附件使用jquery-form.js的ajaxsubmit提交一点记录

        最近项目用到了附件附件上传功能,因为上传附件想尽量控制在一个控件上传附件并回显在下方的列表中,选择附件则触发上传。

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、成都微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了松岭免费建站欢迎大家使用!

        刚开始使用了swfupload.js的flash控件进行上传,但是在IE中如果没有相应控件就无法draw出上传控件,应该是浏览器段没有flash控件造成的。

        最后还是改回html的type="file"来实现上传,因为附件上传成功后需要回调函数并在下方列表中回显;所以纯粹的使用form表单提交无法回调需要的数据。而直接使用js取得input内容组装为file对象使用ajax上传,但是js里无法取得完整的文件对象。

        找了一些,发现jquery-form.js的ajaxsubmit可以上传并回调,在input的onchange事件时触发方法uploadFile,在方法里取得form表单,定义options,然后form.ajaxsubmit()。然后在options的success方法里取得返回的data再把data值写入下方列表里。

        刚开始使用谷歌调试时没有任何问题,但是在IE中调试时,附件能传到后台不过在返回数据的时候并不执行success方法,也不执行error方法,只是报错,诸如“阻止文件下载。。。”云云,当场愣了,根本无法解释,找了很久也不搞不清楚原因,查了很久,终于找到解决的办法,那就是把返回的数据头改为"text/html"而不是"text/javascript",这个问题虽然解决了,但很不爽。屎一样的IE

response.setContentType("text/html");

解决来源:

    http://forum.jquery.com/topic/file-upload-ajaxsubmit-sends-response-to-wrong-window-in-ie


文章题目:上传附件使用jquery-form.js的ajaxsubmit提交一点记录
本文地址:http://bjjierui.cn/article/iigjhg.html

其他资讯