Ajax+Node.js前后端交互最佳入门实践(07)
2020-04-21 21:06
633 查看
7.ajax函数封装
7.1.实例引入
需求: 每秒钟请求一次服务器 获取到数据
实现: 把ajax进行封装
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="ajax.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> window.onload = function(){ var oBtn = document.getElementById("btn"); oBtn.onclick = function(){ setInterval(function(){ ajax("get",'getData.php','',function(data){ var oUl = document.getElementById('ul1'); var html = '' for(var i = 0; i < data.length; i++) { var oli = document.createElement('li'); html += '<li>'+ data[i].title + '[' + data[i].time + ']</li>'; } oUl.innerHTML = html; }); },1000) } } </script> </head> <body> <input type="button" id="btn" value="获取数据" /> <ul id="ul1"> </ul> </body> </html>
7.2.ajax代码,普通封装:
function ajax(method,url,data,sucess) { //创建ajax对象 var xhr = null; try { xhr = new XMLHttpRequest(); } catch(e) { xhr = new ActiveXobject('Microsoft.XMLHTTP'); } if(!method || method == "get"){ method = "get"; //打开要获取文件的地址 if(data){ url = url+"?"+data; } xhr.open(method, url, true); //发送请求 xhr.send(); }else{ method = "post"; xhr.open(method, url, true); if(data){ //发送请求 xhr.send(); }else{ xhr.send(data); } } //alert(xhr.responseText); //监听请求状态 xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { var data = JSON.parse(xhr.responseText); sucess && sucess(); } } }
7.3.ajax代码,封装成对象的传参的形式:
function ajax(obj) { //创建ajax对象 var xhr = null; try { xhr = new XMLHttpRequest(); } catch(e) { xhr = new ActiveXobject('Microsoft.XMLHTTP'); } if(!obj.method || obj.method == "get"){ obj.method = "get"; //打开要获取文件的地址 if(obj.data){ obj.url = obj.url+"?"+obj.data; } xhr.open(obj.method, obj.url, true); //发送请求 xhr.send(); }else{ obj.method = "post"; xhr.open(obj.method, obj.url, true); if(data){ //发送请求 xhr.send(); }else{ xhr.send(obj.data); } } //alert(xhr.responseText); //监听请求状态 xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { var data = JSON.parse(xhr.responseText); obj.success && obj.success(data); } } }
转载于:https://www.cnblogs.com/edunodeing/p/8819973.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 实现基于Node.js的ajax前后端交互的简单例子
- 学习07-前后端交互node.js
- node入门demo-Ajax让前端angularjs/jquery与后台node.js交互,技术支持:mysql+html+angularjs/jquery
- 基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
- node.js后台jquery前台-- 实现用户登录注册AJAX交互
- JS的Ajax与后端交互数据
- node.js之前后端交互小样例
- 十个书写Node.js REST API的最佳实践(上)
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
- [整理]Node入门 » 一本全面的Node.js教程 - Demo实践所遇到的问题
- 基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
- 前后端分离实践(三)—— 使用Express+Nodejs搭建前端服务层
- 虚拟研讨会:Node.js生态系统之框架、库、最佳实践
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
- 十个书写Node.js REST API的最佳实践(下)
- 好文:node.js最佳实践
- Node.js CLI 工具最佳实践
- 前端ajax和ssm后端使用json交互实践
- Webstorm开发Node.js应用代码自动补全最佳实践
- JS的Ajax与后端交互数据的实例