自定义封装ajax,复制即可用
支持get、post请求
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>自定义封装ajax</title>
</head> <body>
</body> </html>
<script type="text/javascript">
function ajax(obj) { obj = obj || {};
obj.method = obj.method.toUpperCase() || "POST";
obj.url = obj.url || "";
obj.async = obj.async || true;
obj.data = obj.data || null;
obj.success = obj.success || function() {};
obj.headers = obj.headers || null;
var xmlHttp = null; if(window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); //非IE浏览器 } else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP") //IE
} // 处理参数 if(obj.method.toUpperCase() == "POST") {
xmlHttp.open(obj.method, obj.url, obj.async); if(obj.headers.ContentType) { xmlHttp.setRequestHeader("Content-Type", obj.headers.ContentType); } else { xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); } xmlHttp.send(JSON.stringify(obj.data)); //到了这的post是各个参数拼接在一起了,类似get请求??????????
} else {
var par = []; for(var key in obj.data) { par.push(key + '=' + obj.data[key]) }
var postData = par.join("&"); xmlHttp.open(obj.method, obj.url + "?" + postData, obj.async);
xmlHttp.send(null) } xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
obj.success(JSON.parse(xmlHttp.responseText))
} } } //get请求实例
ajax({ method: 'get',
url: "http://risk.haitun.hk/risk-console/risk/messageInfo/list",
data: {
msgType: 1,
pageNum: 1,
pageSize: 6
},
success: function(res) {
console.log(res, 'get请求实例')
} }) //post请求实例
ajax({
method: 'POST',
url: "http://risk.haitun.hk/risk-console/risk/riskRule/list",
data: {
pageNum: 1,
pageSize: 10
},
async: false,
headers: {
"ContentType": "application/json;charset=utf-8" //注意头部,ContentType
},
success: function(res) { console.log(res, 'post请求实例') }
})
</script>
自定义封装ajax,复制即可用的更多相关文章
- 封装Ajax框架!(前言篇)
Ajax技术就是利用javascript和xml实现异步交互的功能. 首先先来介绍一下Ajax相关知识点,如果这些你都会的话,请直接跳转到封装ajax框架!(代码篇) 一.Ajax对象的创建 1.创建 ...
- 前后端交互之封装Ajax+SpringMVC源码分析
为什么需要封装呢?因为用的多,我想将其封装成函数,当我想用它时,只需将那个函数对应的js文件引入即可,而不要重复写很多相同代码,利于开发效率的提高. 无论是$.ajax或$.post.$.get等,在 ...
- 封装AJax实现JSON前台与后台交互
实践技术点:1.AJax自定义封装 2.后台序列化与反序列化JSON 3.客户端解析JSON字符串,处理DOM 实现代码如下: 1.JS脚本代码: 1 /*** NOTE:AJAX处理JS TIM ...
- Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务
本文主要介绍 Windows 环境下搭建 PostgreSQL 的主从逻辑复制,关于 PostgreSQl 的相关运维文章,网络上大多都是 Linux 环境下的操作,鲜有在 Windows 环境下配置 ...
- 使用原生JS封装Ajax
使用原生 的JS封装 Ajax,实现 仿JQuery的Ajax,post,get三种异步请求方式: var MAjax = { //根据浏览器创建异步对象 createXhr: function () ...
- 原生javascript封装ajax和jsonp
在我们请求数据时,完成页面跨域,利用原生JS封装的ajax和jsonp: <!DOCTYPE html> <html lang="en"> <head ...
- AJAX编程-封装ajax工具函数
即 Asynchronous [e'sɪŋkrənəs] Javascript And XML,AJAX 不是一门的新的语言,而是对现有技术的综合利用.本质是在HTTP协议的基础上以异步的方式与服务器 ...
- easyUI单元格合并自定义封装
1.指定列的行合并 * 效果图: 合并自定义封装(一) * 程序: function mergeGridColCells(grid,rowFildName) { var rows=grid.dat ...
- iOS开发——UI篇Swift篇&玩转UItableView(四)自定义&封装
UItableView自定义&封装 一:Model class AppsModel: NSObject { //定义模型的三个属性 var imageName:String! //图片名称 v ...
随机推荐
- toLatin1 qt
Latin1是ISO-8859-1的别名,有些环境下写作Latin-1.ISO-8859-1ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F ...
- Redis sentinel 哨兵模式
一.sentinel介绍 Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Maste ...
- cnn神经网络入门
1.神经网络最基本的原理也是函数拟合,所以lose function就显得非常重要了,我们训练的目的之一就是减小损失函数,常用的损失函数参考:https://www.cnblogs.com/hypnu ...
- apicloud实现各种自定义弹层组件
- Floyd算法解决多源最短路问题
说好的写dijkstra 算法堆优化版本的,但是因为,妹子需要,我还是先把Floyd算法写一下吧!啦啦啦! 咳咳,还是说正事吧! ----------------------------------- ...
- Hadoop 集群安装(主节点安装)
1.下载安装包及测试文档 切换目录到/tmp view plain copy cd /tmp 下载Hadoop安装包 view plain copy wget http://192.168.1.100 ...
- XQuery 术语
XQuery 术语 节点 在 XQuery 中,有七种节点:元素.属性.文本.命名空间.处理指令.注释.以及文档(根)节点.XML 文档是被作为节点树来对待的.树的根被称为文档节点或者根节点. 请看下 ...
- CS231n 第一次作业KNN中本地CIFAR10数据集的载入
一.问题描述 网上绝大多数作业参考都是在jupyter下运行的,数据集载入过程一般如下: from cs231n.data_utils import load_CIFAR10 #导入数据集,并打印出数 ...
- [Swift]LeetCode147. 对链表进行插入排序 | Insertion Sort List
Sort a linked list using insertion sort. A graphical example of insertion sort. The partial sorted l ...
- [Swift]LeetCode542. 01 矩阵 | 01 Matrix
Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell. The distance b ...