jQuery表单AJAX提交插件学习

来源:互联网 发布:淘宝网双11销售额 编辑:程序博客网 时间:2024/06/05 17:40

最近用康盛品牌空间,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选项

还支持进度条呢

以后再说!

原创粉丝点击