Java之AJAX概念和实现方式

开发工具与关键技术:MyEclipse 10,java

作者:刘东标

撰写时间:2019-06-12

1.概念:

Asynchronous JavaScript And XML 异步的JavaScript和XML

1.异步和同步:客户端和服务端相互通信的基础上

同步: *客户端必须等待服务端的响应。在等待的期间客户端不能做其他操作。

异步: *客户端不需要等待服务端的响应。在服务器处理请求的过程中,客户端可以做其他操作。

Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以不重新加载整个网页的情况下,

对网页的某部分进行更新。传统的网页(不使用Ajax)如果需要更新内容,必须需重新整个网页页面。

提升用户的体验

2、实现方式:

1.原生的js实现方式

//定义方法

function fun() {

//发送异步请求

//1.创建核心对象

var xmlhttp;

//为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。

//如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject

if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp = new XMLHttpRequest();

} else {// code for IE6, IE5

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

//2.建立连接

/*

参数: 1.请求方法:GET、POST

* get方式,请求参数在URL后边拼接。send方式为空参

* post方式,请求参数在send方法中定义

2.请求的URL:

3.同步或异步请求:true(异步)或false(同步)

*/

xmlhttp.open("GET","/BorrowAndInvest/servlet/LoginServlet?username=tom", true);

//3.发送请求

xmlhttp.send();

//4.接受并处理来自服务器的响应结果

//获取方式:xmlhttp.responseText;

//什么时候获取?当服务器响应成功后再获取

//当xmlhttp对象就绪状态改变时,触发事件onreadystatechange.

xmlhttp.onreadystatechange = function() {

//判断readyState就绪状态是否为4,判断status响应状态码是否为200

if (xmlhttp.readyState == 4 && xmlhttp.status==200) {

//获取服务器的响应结果

var responseText= xmlhttp.responseText;

alert(responseText);

}

}

}

2.Jquery实现方式

1.$.ajax()

*语法:$.ajax({键值对});

//定义方法

function fun() {

//使用$.ajax()发送异步请求

$.ajax({

url:"/BorrowAndInvest/servlet/LoginServlet",//请求路径

type:"POST",//请求方式

//data:"username=hello&age=25",//请求参数

data:{"username":"hello","age":25},

success:function(data){

alert(data);

},//响应成功后的回调函数

error:function(){

alert("出错啦");

},//表示如果请求响应出现错误,会执行的回调函数

dataType:"text"//设置接收到的响应数据的格式

});

}

2.$.get():发送get请求

*语法:$.get(url,[data],[callback],[type])

*参数:1.url:请求路径2.data:请求参数3.callback回调函数4.type:响应结果的类型

function fun() {

$.get("/BorrowAndInvest/servlet/LoginServlet",{username:"大雄"},function(data){

alert(data);

},"text");

}

3.$.post()发送post请求*

function fun() {

$.post("/BorrowAndInvest/servlet/LoginServlet",{username:"大雄"},function(data){

alert(data);

},"text");

}

java中ajax概念_Java之AJAX概念和实现方式相关推荐

  1. Java中哈希集(HashSet)概念,实现以及操作

    Java中HashSet的用法 1. HashSet概念 2.Java文档中HashSet的实现 3.HashSet的构造函数 3.1 HashSet() 3.2 HashSet(int initia ...

  2. Java中创建(实例化)对象的五种方式

    Java中创建(实例化)对象的五种方式 1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23);  3.运 ...

  3. Java中的Listener监听器与Ajax技术和Axios异步框架以及JSON传递接收数据

    Listener监听器与Ajax Listener 概念 Listener 表示监听器,是 JavaWeb 三大组件(Servlet.Filter.Listener)之一. 监听器可以监听就是在 ap ...

  4. C#、C++、JAVA中虚函数和抽象函数的概念对比

    这两天恶补了下C#的相关内容,虚函数的概念又挖掘了下,总结如下: 1.C++中函数被定义为虚函数的方法是在函数名前加virtual,虚函数可以有自己的具体内容,也可以不含有函数实现内容,称为纯虚函数. ...

  5. java中容易被忽视的基本概念

    概念1: try-catch-finally块中,finally块在以下几种情况将不会执行. (1)finally块中发生了异常. (2)程序所在线程死亡. (3)在前面的代码中用了System.ex ...

  6. java 封装的概念_java封装的概念

    继承.封装.多态.抽象是面向对象编程的四大基本概念,其中封装尤为重要,因为从我们学习JAVA开始,就基本上接触了封装,因为JAVA中的所有程序都是写在类中的,类也能当做一种封装. 在面向对象中封装是指 ...

  7. java线程池概念_Java 线程池概念、原理、简单实现

    线程池的思想概述 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结東了,这样频繁创建线程就会大大降低系 ...

  8. java的程序概念_Java程序基本概念

    大家好,在这里跟大家讲解一下关于Java程序的基本概念应用. 以下本人的介绍包括有以下的几点: 一.标识符的定义 二.数据类型的划分 三.运算符的应用 四.分支结构.循环结构.循环控制语法的应用 五. ...

  9. java 线程的基本概念_Java多线程——基本概念

    线程和多线程 程序:是一段静态的代码,是应用软件执行的蓝本 进程:是程序的一次动态执行过程,它对应了从代码加载.执行至执行完毕的一个完整过程,这个过程也是进程本身从产生.发展至消亡的过程 线程:是比进 ...

最新文章

  1. oracle中表空间的相关操作
  2. 敏捷个人架构图 V1.3
  3. mysql中的innodb_flush_log_at_trx_commit参数的意义
  4. 十三、MySQL存储过程相关知识总结 + 案例讲解(强化)
  5. 便携本市场一片混乱 东芝也加入战斗
  6. 3G或应尽早步入细分市场时代
  7. 13-12-X-Pack的配置与检查
  8. C++交换两个数组的前n个字节
  9. MapReduce进程
  10. python能做什么程序-学了 Python,能用来做什么?实际应用场景有哪些??
  11. CSDN统计出错:一天访问量竟然有48798
  12. 初级软考程序员不会c语言,软考程序员初级通过率是多少_软考程序员初级多少分过_上学吧...
  13. 解决 Office 2007/2010 安装错误:1402 安装程序无法打开注册表项 UNKNOWN\Components\“随机数字”
  14. Echarts 实现环状半圆形饼图
  15. eclipse 打开jsp页面卡死问题
  16. Ubuntu16.04搭建mtk6737 安卓7.0 MTK 编译环境搭建
  17. Vue开发警告[Vue warn]: Avoid replacing instance root $data. Use nested data properties instead.
  18. 《华杉讲透孙子兵法》分享
  19. 你的时间有限,不要为别人而活
  20. Java Socket:飞鸽传书的网络套接字

热门文章

  1. DeepLabV3+语义分割实战
  2. CVPR2020:Grid-GCN用于快速和可扩展的点云学习
  3. AlexeyAB DarkNet YOLOv3框架解析与应用实践(二)
  4. 数据治理(一):为什么要数据治理
  5. IDEA 报错红色下划线“cannot resolve”但仍能运行的解决方法
  6. 前端面试题笔记 2021.8.26
  7. 转:AbstractQueuedSynchronizer的介绍和原理分析
  8. Windows平台搭建-----C语言
  9. php可以定义数组的常量吗
  10. solr-cloud 集群动态增加、删除节点