分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Ajax+Node.js前后端交互最佳入门实践(07)

发布时间:2023-09-06 01:49责任编辑:林大明关键词:js后端AjaxNode

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); ???????} ???}}

  

Ajax+Node.js前后端交互最佳入门实践(07)

原文地址:https://www.cnblogs.com/nodeing/p/8809089.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved