java/AJAX

news/2025/3/14 17:38:33/

  1. 1)  asynchronous javascript and xml(异步的 javascript 和 xml)。
    为了解决传统的 web 应用当中“等待-响应-等待"的弊端而创建的一种技术,其实质可以理解 为:使用浏览器内置的一个对象(XmlHttpRequest)向服务器发送请求,服务器返回 xml 数据 戒者是文本数据给浏览器,然后在浏览器端,使用这些数据更新部分页面,整个过程,页面无 仸何的刷新。

  2. 2)  “等待-响应-等待”:
    指的是,在传统的 web 应用当中,比如注册,用户填写完整个注册信息,然后提交,此时, 浏览器会将整个注册页面抛弃,等待服务器返回一个新的完整的页面。在等待过程当中,用户 丌能够做其它操作。服务器生成新的页面发送给浏览器,浏览器需要重新解析这个页面生成相 应的界面。

****XmlHttpRequest 对象的重要属性 **

onreadystatechange: 注册一个监听器(也就是,绑订一个事件处理函数)。

readyState:返回该对象不服务器通讯的状态。返回值是一个 number 类型的值,不同的值表示的
含义如下:
0 (未初始化) 对象已建立,但是尚未初始化(尚未调用 open 方法)。

1 (初始化) 对象已建立,尚未调用 send 方法。
2 (发送数据) send 方法已调用。
3 (数据传送中) 已接收部分数据。
4 (响应结束)接收了所有的数据。

  1. responseText: 获得服务器返回的文本。

  2. responseXML: 获得服务器返回的 XML dom 对象。

  3. status: 获得状态码。

***缓存的问题:

在使用 ie 浏览器时,如果使用 get 方式发送请求,浏览器会将数据缓存起来。这样,当再次发送请 求时,如果请求地址丌变,ie 丌会真正地向服务器发请求,而是将乊前缓存的数据显示给用户。

解决方式:

方式一:使用 post 方式。

方式二:在请求地址后面添加一个随机数(比如时间时随时会变的)。

 

***

<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html> 
<head>
<title>Insert title here</title>
<script type="text/javascript" src="js/prototype-1.6.0.3.js">
</script>
<script type="text/javascript">function getXmlHttpRequest(){var xhr = null;
if((typeof XMLHttpRequest)!='undefined'){xhr = new XMLHttpRequest();
}else {
xhr = new ActiveXObject('Microsoft.XMLHttp'); 
}
return xhr; }
function change(v1){
var xhr = getXmlHttpRequest();//获取ajax请求对象
xhr.open('post','city2.do',true); //请求的方式,地址,是否异步
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//编码方式,post请求必须要设置这一项xhr.onreadystatechange=function(){//服务器端返回的响应if(xhr.readyState == 4){
var txt = xhr.responseText;var citys = txt.evalJSON(); 
$('s2').innerHTML = ''; 
for(i=0;i<citys.length;i++){
var op =new Option(citys[i].cityName,
citys[i].cityValue);
$('s2').options[i] = op; 
}}};
xhr.send('name=' + v1);//发送ajax请求,post请求的参数要放在send中发送
}
</script> </head>
<body style="font-size:30px;">
<select id="s1" style="width:120px;" onchange="change(this.value);">
<option value="hn">湖南</option>
<option value="bj">北京</option> 
</select>
<select id="s2" style="width:120px;"></select>
</body></html>

*******原理:

使用Ajax目的是提高用户的感受;浏览器通过异步引擎发送请求,异步引擎也是在客户端,浏览器地址不会变;
异步引擎就是一个XMLHttpRequest對象,是javascript對象;浏览器吧请求发送给异步引擎,异步引擎向服务器请求,
球球返回给异步引擎。
异步引擎返回给浏览器;

 

 

********在浏览器端显示表格的三种方法:
直接子servlet中返回html表格字符串;
子servlet中获取数据,然后转发到另一个jsp文件中用标签处理;
把数据封装成json返给jsp,在jsp中组装显示; 


http://www.ppmy.cn/news/918173.html

相关文章

pip install mysqlclient安装

很长时间以来&#xff0c;在安装mysqlclient时&#xff0c;一直安装不上&#xff0c;当安装好mysql电脑端的客户端时&#xff0c;很轻易就可以安装上了&#xff0c;只是在安装mysql8.0时&#xff0c;每次安装完以后&#xff0c;就无法连接&#xff0c;说初始密码错误&#xff0…

JYaml

JYaml JYaml支持的数据类型&#xff1a; 原始数据类型和封装类&#xff08;int,java.lang.Integer&#xff09;JavaBean兼容对象&#xff08;结构支持&#xff09;collection(sequence支持) ListSet Map&#xff08;map支持&#xff09;Arrays&#xff08;sequence支持&#…

PhpSpreadsheet怎么设置单元格边框

$styleArray [borders > [allBorders > [borderStyle > Border::BORDER_THIN //细边框]] ];$worksheet->getStyle(A1:N1)->applyFromArray($styleArray);说明&#xff1a; $worksheet是PhpOffice\PhpSpreadsheet\Worksheet的实例 $styleArray中borders数组中支…

A jax

Ajax 让浏览器跟服务器交互的一套API. 作用就是可以让浏览器和服务器进行交互。服务器 服务器 就是提供某种服务的 电脑(机器)常见的服务器有以下几种&#xff1a;- 数据库服务 - 文件服务 - 多媒体服务(音视频) - 邮件服务 - Web服务前端访问服务器的几种方式 1.直接输入网址2…

java ajax教程_AJAX Java

AJAX Java 需求&#xff1a;完成一个异常获取后台服务器的当前时间。 一、页面制作一个按钮 当前服务器的时间为&#xff1a; 二、编写JS异步提交请求后台 window.onload function(){ document.getElementById("btn").onclick function(){ //异步方式请求后台 //以…

java jackson包_jackson.jar

jackson.jar是一款在进行java开发时经常需要使用到的jar架包如果您的工具架包内缺少了这款jackson.jar不妨马上下载这款多功能的jackson.jar来保证您严谨的开发过程。。 相关软件软件大小版本说明下载地址 jackson.jar是一款在进行java开发时经常需要使用到的jar架包,如果您的工…

JLayeredPane

添加时&#xff0c; layeredPane.add(label, new Integer(i)); add方法第二个参数是在layerPane的位置&#xff08;addImpl的简单版&#xff09;&#xff0c;越小越接近底层 也可以&#xff0c; layeredPane.add(label, new Integer(2), 0); add方法第三个参数0或者-1&#xff…

Jar In Jar

在jar中寻找相关依赖遇到的问题&#xff0c;在Jar中如果要寻找相关类依赖&#xff0c;会根据文件目录&#xff0c;也就是目录作为包名寻找&#xff0c;如果要打依赖进去记得extract