//表单序列化
function iSerialize(form){
var parts={};
for(var i=0;i<form.elements.length;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<filed.options.length;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);
}
}
}

最新文章

  1. iOS 8.1.3 “各路助手挺尸”、“封杀一切助手
  2. 利用substring()方法,把一个表的不同分级所对应的字段名取出来。
  3. java基础八 [序列化和文件的输入/输出](阅读Head First Java记录)
  4. win32进阶之路:给锁屏软件增加一个超链接按钮
  5. Svg图片在asp网站上的使用
  6. ubuntu进入命令登录界面
  7. js实现选项卡切换的三种方式
  8. 图标字体IcoMoon 使用
  9. 国外支付PayPal
  10. Centos7 防火墙 firewalld 实用操作
  11. android studio application应用打包jar
  12. django模型系统(一)
  13. elasticSearch安装 Kibana安装 Sense安装
  14. GitHub 优秀的 Android 开源项目 (精品)
  15. FZU 2150 Fire Game (bfs+dfs)
  16. 论文阅读笔记九:SEMANTIC IMAGE SEGMENTATION WITH DEEP CONVOLUTIONAL NETS AND FULLY CONNECTED CRFS (DeepLabv1)(CVPR2014)
  17. FileZilla客户端连接腾讯云FTP服务器时出现“227 Entering Passive Mode”
  18. python的多线程到底有没有用?
  19. 第一个android ijkplayer播放器
  20. centos配置备忘(apache\php\mysql)

热门文章

  1. 《C++标准程序库》学习笔记(一)C++相关特性
  2. 数据库scheme设计(9.4 小结)
  3. JqueryMobile学习记录一
  4. nslookup查询结果详解
  5. Django之AppConfig源码学习
  6. Day8 封装 静态属性property
  7. 数据库中row_number()、rank()、dense_rank() 的区别
  8. Ocelot中文文档-日志
  9. Storm之路-WordCount-实例
  10. Java(四、类和对象)