数据的封装处理主要展现在JS中,在页面里面引入封装的JS,

“js/ajax.js”

简单封装将get和post方法都写入,get的方法和post的方法依然需要严格区分,包括type类型也要严格书写:

function ajax(method, url, data, success) {  //命名方法
var xhr = null;
try {
xhr = new XMLHttpRequest();
} catch (e) {
xhr = new ActiveXObject('Microsoft.XMLHTTP');
} if (method == 'get' && data) {
url += '?' + data;
} xhr.open(method,url,true);
if (method == 'get') {
xhr.send();
} else {
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
xhr.send(data);
} xhr.onreadystatechange = function() { if ( xhr.readyState == 4 ) {
if ( xhr.status == 200 ) {
success && success(xhr.responseText);
} else {
alert('出错了,Err:' + xhr.status);
}
} }
}

然后在页面中使用,使用时只需要引入ajax函数名字即可,然后根据使用get还是post来实现数据处理。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>AJAX</title>
<style>
.myBtn{
background:#3498db;
color:#fff;
font-size:14px;
text-align:center;
width:100px;
height:36px;
line-height:34px;
border:none 0;
cursor:pointer;
margin-left:37px;
}
#content{ }
#content li{
list-style:none;
padding:10px 0;
white-space:1px;
border-bottom:1px dashed #999;
}
#content li a{
color:#000;
text-decoration:none;
transition: all 0.3s ease 0s;
}
#content li:hover a{
color:#246ab8;
padding-left:10px;
transition: all 0.3s ease 0s;
}
#content li span{
color:#777;
}
</style> <script src="js/ajax.js"></script>
<script>
window.onload = function() { var oBtn = document.getElementById('btn'); oBtn.onclick = function() { ajax('get','links/getNews.php','',function(data) { //ajax就是封装的函数名字
var data = JSON.parse( data ); //字符串转换 var oUl = document.getElementById('content');
var html = '';
for (var i=0; i<data.length; i++) {
html += '<li><a href="">'+data[i].title+'</a> [<span>'+data[i].date+'</span>]</li>';
}
oUl.innerHTML = html;
}); }
}
</script>
</head> <body>
<input type="button" value="按钮" id="btn" class="myBtn" />
<ul id="content"></ul>
</body>
</html>

最新文章

  1. 吉特仓库管理系统-.NET打印问题总结
  2. Linux pthread
  3. C++笔记----构造函数与析构函数(三)
  4. iOS UICollectionView之二(垂直滚动)
  5. LA 5059 - Playing With Stones
  6. Avant Browser
  7. 关于openoffice英文乱码的问题
  8. iOS调用系统声音与振动
  9. git bash 出现vim的时候怎么退出
  10. 解决ios手机上传竖拍照片旋转90度问题
  11. Maven项目pom.xml 标签含义
  12. 升级Centos 7/6内核版本到4.12.4的方法
  13. JAVA核心问题(一)反射之引言 构造函数
  14. spoj8406
  15. git Push failed: Could not read from remote repository 解决方案
  16. Reverse string using recursion
  17. Unity获取指定资源目录下的所有文件
  18. Spring容器装配Bean的三种方式
  19. BZOJ3637 Query on a tree VI(树链剖分+线段树)
  20. scanf是怎么从标准输入读取数据的

热门文章

  1. linux的数据盘挂载
  2. kongdashboard
  3. 吴裕雄--天生自然Python Matplotlib库学习笔记:matplotlib绘图(1)
  4. Java学习资源 - J2SE
  5. k sum 问题系列
  6. Linux kali安装或更新之后出现乱码
  7. 解决CentOS下boost安装后不能使用的问题
  8. SqlService 并发测试
  9. springboot集成过滤器
  10. 「JSOI2010」挖宝藏