ajax入门篇

什么是ajax

AJAX即“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。Ajax的概念由杰西·詹姆士·贾瑞特所提出[1]。

传统的Web应用允许用户端填写表单(form),当提交表单时就向网页服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML码往往是相同的。由于每次应用的沟通都需要向服务器发送请求,应用的回应时间依赖于服务器的回应时间。这导致了用户界面的回应比本机应用慢得多。

与此不同,AJAX应用可以仅向服务器发送并取回必须的数据,并在客户端采用JavaScript处理来自服务器的回应。因为在服务器和浏览器之间交换的数据大量减少,服务器回应更快了。同时,很多的处理工作可以在发出请求的客户端机器上完成,因此Web服务器的负荷也减少了。

类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。虽然其名称包含XML,但实际上数据格式可以由JSON代替,进一步减少数据量,形成所谓的AJAJ。而客户端与服务器也并不需要异步。一些基于AJAX的“派生/合成”式(derivative/composite)的技术也正在出现,如AFLAX

--------来自维基百科

XMLHttpRequest对象

  1. 创建XMLHttpRequest对象

     var httpRequest=new XMLHttpRequest();
    
  2. XMLHttpResquest对象的一些方法

方法或属性作用
open(method,url,async)规定请求的类型、URL 以及是否异步处理请求
请求的类型:GET或者POST
url:请求的文件在文件在服务器上的位置
async:true或者false,代表着异步或者同步
send(String )将请求发送到服务器
String:仅用于 POST 请求
setRequestHeader(header,value)使用POST来提交信息要添加 HTTP 头
header:规定头的名称
value:规定头的值
responseText获得字符串形式的响应数据
responseXML获得 XML 形式的响应数据
onreadystatechange 事件请求状态改变的事件触发器大概指的是 回调函数
readyState存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
status200: “OK” ,404:未找到页面

readyState

  1. 请求未初始化
  2. 服务器连接已建立
  3. 请求已接收
  4. 请求处理中
  5. 请求已完成,且响应已就绪

随手案例

目录
在这里插入图片描述
index.jsp代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>ajax</title></head><body>用户名:<input type="text" id="username"><input type="submit" value="验证用户名" onclick="checkUsername()"><div id="B"></div></body>
<script type="text/javascript">var httpRequest;function checkUsername() {if (window.XMLHttpRequest) {httpRequest = new XMLHttpRequest();}var name = document.getElementById("username").value;httpRequest.onreadystatechange = function () {if (httpRequest.readyState == 4 && httpRequest.status == 200) {var text = httpRequest.responseText;var div = document.getElementById("B");if(name==text){div.innerText = text;}else {div.innerText="用户名有误";}}//指定回调函数}httpRequest.open("post", "http://localhost:8080/ajaxtest_war_exploded//test.txt", true);httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");//请求头httpRequest.send("username=" + name);}</script>
</html>

text.txt文件
在这里插入图片描述

演示结果

在这里插入图片描述

局部交互数据,不刷新界面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548110.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BJRangeSliderWithProgress

2019独角兽企业重金招聘Python工程师标准>>> BJRangeSliderWithProgress 是一个带范围选择的进度条&#xff0c;我用它来做录音的进度指示&#xff0c;并可在选择的范围内进行回放。 转载:http://www.adobex.com/ios/source/details/00000865.htm 转载于:https://my…

servlet+JQuery ajax以json的形式的验证表单小实例

JQuery $.ajax() $.ajax({type: POST, //请求方式 一般是get&#xff0c;posturl: url , // 这是必需的&#xff0c;规定把请求发送到哪个 URLdata: data , //这个是可选。映射或字符串值。规定连同请求发送到服务器的数据。java中用request.getPara…

JSONObject与GSON的一些常用的方法的使用

通过学习ajax然后接触了Json最后通过json接触到了JSONObject和Google的GSON&#xff0c;下面来一起看看JSONObject和GSON吧。 先附上依赖 //JSONObject依赖<dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId>&…

Mybatis(2)---多表查询

首先数据库表展示 User表 Role角色表 关联User表与Role表关系的user_role表 因为是要串联关系所以需要设置外键&#xff0c;以下是外键展示 工程目录展示 pom.xml依赖配置 <dependencies><dependency><groupId>junit</groupId><artifactId>…

JavaScript复习使用定时器的简易式诸葛大力轮播图

先上效果图 很简单的代码 先创建个文件夹保存成果的照片&#xff0c;然后通过更改src来用定时器循环这些照片 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"…

复习---使用基础语法实现栈及迭代

上图是最最基本的结构&#xff0c;这次我采用数组实现栈。使用数组实现栈&#xff0c;由于java的数组是固定长度的。所以我需要写一个增加长度的方法。然后就是迭代的问题了。使用数组实现栈的话&#xff0c;我们需要写一个迭代器。不过这个迭代器非常容易实现&#xff0c;只需…

复习----使用链表实现栈(后进先出)及迭代

使用链表进行模拟栈比用数组好用&#xff0c;考虑的要素也少还方便。 链表结构 private class Node{//链表结构Item item;Node next;}迭代器 private class Iterator implements java.util.Iterator<Item>{//迭代器private Node pfirst;Overridepublic boolean hasNex…

复习----使用链表实现队列(先进先出)及迭代

实现队列比实现栈的会多一点复杂&#xff0c;需要两个标记&#xff0c;first表示队头&#xff0c;last表示队尾。 链表结构 private class Node{Item item;Node next;}迭代器 与实现栈的迭代器一模一样 private class Iterator implements java.util.Iterator<Item>{p…

RedHat Enterprise AS4安装步骤

//因RDMS使用新版本CentOS6.2 有问题 &#xff0c; 没办法只有装低版本操作系统 &#xff01; 概述 Redhat公司的Enterprise Linux AS系列 &#xff08;以下简称AS系列&#xff09;&#xff0c;其中Fedora Core 是符合GPL协议的免费版本&#xff0c;使用范围广泛。AS是高性能的…

贪心---leetcode-376摆动序列

题目 如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为摆动序列。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。少于两个元素的序列也是摆动序列。 例如&#xff0c; [1,7,4,9,2,5] 是一个摆动序列&#xff0c;因为差值 (6,-3,…

贪心---移掉K位数字

题目 给定一个以字符串表示的非负整数 num&#xff0c;移除这个数中的 k 位数字&#xff0c;使得剩下的数字最小。 注意: num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。 示例 1 : 输入: num “1432219”, k 3 输出: “1219” 解释: 移除掉三个数字 4, 3, 和 2 形…

应用层——使用 Socket 通信实现 FTP 客户端程序

转自&#xff1a;http://blog.csdn.net/yixijide/article/details/8280263 简介&#xff1a; FTP 客户端如 FlashFXP&#xff0c;File Zilla 被广泛应用&#xff0c;原理上都是用底层的 Socket 来实现。FTP 客户端与服务器端进行数据交换必须建立两个套接字&#xff0c;一个作为…

Java-IO-对接流

不管是什么文件都可以用字节来表示&#xff0c;下面的例子是将图片解码成字节&#xff0c;然后再编码成图片。 过程 首先将图片解码&#xff0c;我们需要用文件字节输入流&#xff1a;FIleInputStream 用FIleInputStream可以将图片储存到字节数组中&#xff0c;我们通过read(…

蓝桥杯试题 算法提高 数组求和

题干 我人比较蠢想不出好的解决方案&#xff0c;只能采用暴力破解才能维持的了生活这样。。资源限制 时间限制&#xff1a;1.0s 内存限制&#xff1a;256.0MB 问题描述 输入n个数&#xff0c;围成一圈&#xff0c;求连续m&#xff08;m<n&#xff09;个数的和最大为多少&a…

一次较为完整的原生JavaScript AJAX与Java的前后端数据交互

效果 Maven 依赖 <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency><dependency><groupId>mysql</groupId><artifactId…

工厂模式解耦---控制反转

控制反转 是面向对象编程中的一种设计原则&#xff0c;可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入&#xff08;Dependency Injection&#xff0c;简称DI&#xff09;&#xff0c;还有一种方式叫“依赖查找”&#xff08;Dependency Lookup&#xff09…

mySQL教程 第7章 存储过程和函数

第7章 存储过程和函数 存储过程和存储函数 MySQL的存储过程&#xff08;stored procedure&#xff09;和函数&#xff08;stored function&#xff09;统称为stored routines。 1. MySQL存储过程和函数的区别 函数只能通过return语句返回单个值或者表对象。而存储过程不允许执行…

简单的ajax上传商品功能使用SevletFileUpload和FormData

目录1、先上图2、使用ServletFileUpload读取前端发送过来的请求2.1、maven依赖2.2、SevletFileUpload的一些基本操作3、前端代码4、 Servlet4.1、后端返回商品列表4.2、添加商品4.3、商品DAO层4.3.1、 ProductDao4.3.2、ProductDaoimpl1、先上图 2、使用ServletFileUpload读取前…

JavaScript实现数据分页

目录分页效果图如何分页代码分页 当表单数据过多时&#xff0c;比较不容易浏览。这个时候就需要分页查看。 效果图 如何分页 1、首先确定总记录条数 len 2、单页浏览条数 page_number 3、页数 Total_pageslen % page_number 0 ? len / page_number : len / page_number 1;…

日均互动50万次 微信的营销的成功之道

微信公众平台已成为目前最热的企业营销推广平台&#xff0c;每天都有大量互联网公司和传统企业进驻&#xff0c;使用公众账号通过移动端和粉丝互动&#xff0c;不仅可以群发文字、图片、视频、语音等信息内容&#xff0c;还可以进行一对一的深入沟通。 现在微信公众平台已经成为…