ajax封装表单,ajax封装函数和表单序列化

//表单序列化

function iSerialize(form){

var parts={};

for(var i=0;i

var filed=form.elements[i];

switch(filed.type){

case undefined:

case "submit":

case "reset":

case "file":

case "button":

break;

case "radio":

case "checkbox":

if(!filed.selected) break;

case "select-one":

case "select-multiple":

for(var j=0;j

var option=filed.options[j];

if(option.selected){

var optValue="";

if(option.hasAttribute){

optValue=(option.hasAttribute("value")?option.value:option.text);

}else{

optValue=(option.attributes("value").specified?option.value:option.text);

}

parts[filed.name]=optValue;

}

}

break;

default:

parts[filed.name]=filed.value;

}

}

return parts;

}

//封装ajax

function iAjax(obj) {

var xhr = (function () {

if (typeof XMLHttpRequest != 'undefined') {

return new XMLHttpRequest();

} else if (typeof ActiveXObject != 'undefined') {

var version = [

'MSXML2.XMLHttp.6.0',

'MSXML2.XMLHttp.3.0',

'MSXML2.XMLHttp'

];

for (var i = 0; version.length; i ++) {

try {

return new ActiveXObject(version[i]);

} catch (e) {

//跳过

}

}

} else {

throw new Error('您的系统或浏览器不支持XHR对象!');

}

})();

obj.url = obj.url + '?rand=' + Math.random();

obj.data = (function (data) {

var arr = [];

for (var i in data) {

arr.push(encodeURIComponent(i) + '=' + encodeURIComponent(data[i]));

}

return arr.join('&');

})(obj.data);

if (obj.method === 'get') obj.url += obj.url.indexOf('?') == -1 ? '?' + obj.data : '&' + obj.data;

if (obj.async === true) {

xhr.onreadystatechange = function () {

if (xhr.readyState == 4) {

callback();

}

};

}

xhr.open(obj.method, obj.url, obj.async);

if (obj.method === 'post') {

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

xhr.send(obj.data);

} else {

xhr.send(null);

}

if (obj.async === false) {

callback();

}

function callback() {

if (xhr.status == 200) {

obj.success(xhr.responseText); //回调传递参数

} else {

alert('获取数据错误!错误代号:' + xhr.status + ',错误信息:' + xhr.statusText);

}

}

}

ajax的jQuery的表单序列化获取参数serialize()

需要引入jQuery.js才能使用$("form表单的id").serialize()可获取form表单里面所有表单元素的值和name属性值,按顺序拼接成查询字符串格式为name值 ...

Ajax同时上传表单序列化参数+自定义参数

$.ajax({ type:'POST', url :"", data:$.param({'name1':value1,'na ...

第一百五十九节,封装库--JavaScript,表单序列化结合ajax提交数据

封装库--JavaScript,表单序列化结合ajax提交数据 封装库,表单序列化方法 /** xu_lie_biao_dan()方法,表单序列化方法,将自动获取指定表单里面的各项字段name值和va ...

$.ajax、$.post、from表单序列化工具

$.ajax\$.post

ajax提交表单序列化(serialize())数据

知识点: $("#form").serialize();将表单数据序列化为标准URL编码文本字符串(key1=value1&key2=value2…). 以下用一个例子来演 ...

jquery ajax(5)form表单序列化

form表单序列化

表单序列化+ajax跨域提交

php后台代码: use cmf\controller\HomeBaseController; use think\Db; header('Access-Control-Allow-Origin:*' ...

随机推荐

c# 游戏策划配置工具

该工具是提供策划配置excel数据,导出到mysql数据库,以及生成xml文件,和对应的xml解析实体类 实现了程序 excel 列名 ID =P 表示ID这列是唯一字段 =S=300 表示这列类型是 ...

pthread多线程编程的学习小结

pthread多线程编程的学习小结  pthread 同步3种方法: 1 mutex 2 条件变量 3 读写锁:支持多个线程同时读,或者一个线程写     程序员必上的开发者服务平台 —— DevSt ...

C# 微信海报

最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来.我们都知道计算机技术发展日新月异,速度惊人的快,你我稍不留神,就会被慢慢淘汰!因此:每日不间断的学习是避免被 ...

oneproxy---为实战而生之安装篇

OneProxy是一款数据库中间件,与目前市面上的TDDL.MySQL-Proxy属于同类型产品.我们坚持研发OneProxy是基于如下几点考虑:       1. 我们不想被某一种开发语言绑定 ...

由于DG Broker的配置导致RAC某实例无法mount

今天碰到一个我自己实验室发生的故障,起初看起来很简单,但实际上还很有趣,而且不细心的话还容易被忽视掉.相信在生产环境也会有客户会实际遇到. 环境:Oracle 11.2.0.4 RAC (2 node ...

(十二)Deleting Documents

Deleting a document is fairly straightforward. This example shows how to delete our previous custome ...

HBase轻松入门之HBase架构图解析

2018-12-13 2018-12-20 本篇文章旨在针对初学者以我本人现阶段所掌握的知识就HBase的架构图中各模块作一个概念科普.不对文章内容的“绝对.完全正确性”负责. 1.开胃小菜 关于HB ...

MongoDB之$

MongoDB之$ $  保存符合索引条件的下标 db.userinfo.updateOne({ghobby: },{$set:{'ghobby.2': '四'}}) // 将userinfo表中的g ...

Docker 部署 elk + filebeat

Docker 部署 elk + filebeat kibana 开源的分析与可视化平台logstash 日志收集工具 logstash-forwarder(原名lubmberjack)elastics ...

jsp fmt标签格式化double数字

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值