分享web开发知识

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

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

Ajax原生的js(XMLHttpRequest对象)--实现局部刷新

发布时间:2023-09-06 01:43责任编辑:郭大石关键词:jsAjax

AJAX 是一种用于创建快速动态网页的技术。(不用刷新整个页面和服务器通讯的方法 )

XMLHttpRequest对象:是对js的扩展,可以实现网页与服务器进行通信,通常把Ajax当做XMLHttpRequest对象的代名词。

客户端的语言一般是HTML,css,JavaScript;服务器端一般用PHP,jsp,ASP;中间传输的格式一般为HTML,xml,TXT,json;传输协议是http
ajax需要某种格式化的格式在服务器和客户端之间传递信息,XML,JSON是常用的格式
DOM实现动态的显示和交互。

ajax的语法结构(执行顺序):(超链接需要取消其默认行为--自动跳转)

readyState     返回XMLHTTP请求的当前状态




使用json格式实现局部刷新

JSON是一种简单的数据格式,比xml更轻巧,是js的原生格式,在js中处理json不需要特殊的api或者工具包

使用eval()方法解析json字符串并执行



JSON传输数据的ajax实例
         
        
代码:index.js
jsonObj = {
     "name":"zhangsan",
     "website":"https://zhidao.baidu.com/",
     "email":"http://mail.163.com/"
}
代码:index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<script type="text/javascript">

     window.onload = function(){
          var aNodes = document.getElementsByTagName("a");

          for (var i = 0; i < aNodes.length; i++) {
              aNodes[i].onclick = function(){

                   var request = new XMLHttpRequest();
                   var method = "GET";
                   var url = this.href;

                   request.open(method,url);
                   request.send(null);

                   request.onreadystatechange = function(){
                        if(request.readyState == 4){

                             if(request.status == 200 || request.status == 304){

                                  var result = request.responseText;
                                  var object = eval("(" + result + ")");

                                  var name = object.name;
                                  var website = object.website;
                                  var email = object.email;

                                  // 添加第一个节点存放name--> 链接到email--> 并设置字号为h2
                                  var aNode = document.createElement("a");
                                  aNode.appendChild(document.createTextNode(name));
                                  aNode.href = email;

                                  var h2Node = document.createElement("h2");
                                  h2Node.appendChild(aNode);

                                  // 添加第二个节点存放website--> 链接到website对应的网站
                                  var aNode2 = document.createElement("a");
                                  aNode2.appendChild(document.createTextNode(website));
                                  aNode2.href = website;

                                  // 为div添加创建好的节点
                                  var demoNode = document.getElementById("demo");
                                  demoNode.innerHTML = "";
                                  demoNode.appendChild(h2Node);
                                  demoNode.appendChild(aNode2);

                             }
                        }
                   }
                   return false;
              }
          }
     }

</script>

</head>
<body>
     <ul>
          <li><a href="json/index.js"><h4>测试01</h4></a></li>
          <li><a href="json/index.js"><h4>测试02</h4></a></li>
          <li><a href="json/index.js"><h4>测试03</h4></a></li>
     </ul>

     <div id="demo"></div>
</body>
</html>

Ajax原生的js(XMLHttpRequest对象)--实现局部刷新

原文地址:https://www.cnblogs.com/lcs-java/p/8469070.html

知识推荐

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