jQuery表单AJAX提交插件学习

最近用康盛品牌空间,GBK编码的,自己写的AJAX提交(用的jQuery.fn.serialize)会乱码,只好mb_convert_encoding转过来。康盛程序中对请求数据都不用转码,这是怎么回事。以前也看过康盛的AJAX,没搞懂放弃了,决定研究下康盛的AJAX。

看了好一会,大体思路是,表单提交时,修改表单的target属性指向一个新建的隐藏的iframe。我去,这也行。(以前为了保存表单数据,让表单target=_blank,有点类似)。提交后返回的内容在iframe中,用onload事件通知回调,获取文档内容作为返回数据。

这样既可以AJAX上传文件,GBK网页不用转码,给力。可是使用过程不简单,习惯了jQuery的AJAX,这个比jQuery的AJAX好像欠缺点(超时处理没有吧),要是像jQuery的一样使用就好了。多次见过ajaxForm,ajaxSubmit的插件,没认真学习,记得有很多不知干啥的代码,会不会有这个功能呢。看看!哈,有iframe,估计就有这个功能。学学!

哈哈,好东西,正是想要的,超出想象。

弄点代码测试下,OK。

IE7下不行,IE8+行;

手机上的Android4.1自带浏览器也可以;

手机上QQ浏览器文件选择控件不起作用,不知怎么搞的

插件官方网站:http://malsup.com/jquery/form/

推荐一个中文介绍:http://my.oschina.net/adamboy/blog/38027

如果指定iframe选项为true,会使用iframe方式;

如果可以使用window.FormData(),会使用JS+XHR发送数据。

var formData = new FormData();

formData.append(el.name, el.value);

把formData作为jQuery选项

还支持进度条呢

以后再说!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值