当前位置: 首页 > article >正文

Ajax运行原理

目录

1 Ajax 的运行原理

2 Ajax 简介

3 Ajax 的使用

3.1 XMLHttpRequest 对象

3.2 Ajax 的使用步骤

4 实例

4.1Jsp页面

4.2 Servlet

4.3 运行效果


 想学习架构师构建流程请跳转:Java架构师系统架构设计

1 Ajax 的运行原理

Ajax 简介

      Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript XML),是指一种创建交互式、快速动态应用的网页开发技术,无需重新加载整个网页的情况下,能够更新页面局部数据的技术。 通过在后台与服务器进行少量数据交换,Ajax 可以使页面实现异步更新。这意味着可以在不重新加载整个页面的情况下,对页面的某部分进行更新。

3 Ajax 的使用

3.1 XMLHttpRequest 对象

XMLHttpRequest 是浏览器接口对象,该对象的 API 可被 JavaScriptVBScript 以及其它 web 浏览器内嵌的脚本语言调用,通过 HTTP 协议在浏览器和 web 服务器之间收发 XML 或其它数据。XMLHttpRequest 可以与服务器实现异步交互,而无需让整个页面刷新,因此成为 Ajax 编程的核心对象。

3.2 Ajax 的使用步骤

1. 创建 XMLHttpRequest 对象

var xhr = new XMLHttpRequest();

2. 给定请求方式以及请求地址

xhr.open("get","https://www.csdn.net/");

3. 发送请求

xhr.send();

4. 获取服务器端给客户端的响应数据

xhr.onreadystatechange = function(){ 
//0:open()没有被调用 
//1:open()正在被调用 
//2:send()正在被调用 
//3:服务端正在返回结果 
//4:请求结束,并且服务端已经结束发送数据到客户端 
if(xhr.readyState == 4 && xhr.status == 200){ document.getElementById("span").innerHTML=xhr.responseText; alert(xhr.responseText); } 
}

4 实例

4.1Jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>$Title$</title><script>function but(){var xhr = new XMLHttpRequest();xhr.open("get","ajax.do");xhr.send();xhr.onreadystatechange = function(){if(xhr.readyState == 4 && xhr.status == 200){alert(xhr.responseText);document.getElementById("span").innerHTML=xhr.responseText;}}}</script></head><body><h3>CSDN</h3><hr/><span id="span"></span><input type="button" value="OK" onclick="but()"/></body>
</html>

4.2 Servlet

@WebServlet("/ajax.do")
public class AjaxServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {PrintWriter pw = resp.getWriter();pw.println("Hello Ajax");pw.flush();pw.close();}
}

4.3 运行效果

异步发送,而且还是显示原来的页面

请求到后局部刷新数据 

http://www.lryc.cn/news/2421154.html

相关文章:

  • GridView分页详解
  • x86架构手机_手机cpu与电脑cpu进行比较,哪个更有优势?差距有多大?
  • 【转载】40条Android开发优化建议
  • python time包中的time.time()和time.clock()区别和使用
  • SEO–关于如何通过利用流量精灵刷百度排名及排名原理~
  • Warning: Cannot send session cookie - headers already sent 解决
  • 2003---2005 感动中国人物颁奖词
  • vbs整人代码大全(强制自动关机,打开无数计算器)等.
  • ntalker
  • 外点惩罚函数法·约束优化问题
  • Matlab在高等数学中的实际应用及源代码
  • fifa 14手机版 android 4.2.1,FIFA 14完整解锁版
  • 汉字自动生成拼音码
  • python打印万年历
  • 旅游学概论期末复习提纲 试题(含答案)
  • ubuntu 超级优化,不仅仅是禁用几个服务哦
  • [DSP]基础概念
  • 搭建一个简易的springboot+springcloud项目
  • npm ERR! errno CERT_HAS_EXPIRED(淘宝镜像证书过期)
  • HTML5期末大作业:我的家乡网站设计——我的家乡
  • 如何创建一个有吸引力的博客标题? 用实际例子解释!
  • 【笔记------LCD1602 SCM1602H-P9-Ver1.2】------ 4位数据驱动
  • 电脑出现无法访问您试图使用的功能所在的网络位置怎么办?(清除软件卸载残留)
  • JSP详解,看这一篇就够了(含示例)
  • DNS欺骗劫持与防御策略
  • 鸿蒙生死印作用,逆天邪神:鸿蒙生死印应该有个BUG能力,两位梵天老祖身上有提示...
  • 常见滤波算法(Python版本)
  • Vue3 -- 基于Websocket实现简易聊天室
  • 清除移动硬盘中jwgkvsq.vmx病毒
  • 什么是工业微型计算机,工业用微型计算机第一讲.ppt