AJAX概述和简单使用
一.ajax概述:
asynchronous javascript and xml ,用于异步的向服务器发出请求,接收数据的
一种技术。
在整个过程中:页面无刷新,不打断用户的操作;
按需要获取数据,数据传输量大大减少;
是一种标准化的东西,不需要任何插件。 二.ajax对象的属性:
.onreadystatechange:绑定一个事件处理函数,该函数用来处理readystatechange
事件,ajax对象的readyState属性发生变化,就会产生onreadystatechange事件;
.responseText:获得服务器返回的文本数据;
.responseXML:获得服务器返回的XML文档;
.status:获得状态码;
.readystate:返回Ajax对象与服务器通讯的状态,返回值是一个number类型的值。
):(未初始化)对象已建立,但是尚未初始化(未调用open方法)。
):(初始化)对象已建立,尚未调用send方法。
):(发送数据)send方法已调用。
):(数据传送中)已接收部分数据。
):(响应结束)AJax对象已经获取了服务器返回的所有数据。 三.页面编程步骤
get请求
.获取ajax对象:
function getxhr(){
var xhr = null;
if(window.XMLHttpRequest){
xmr = new XMLHttpRequest(); //非IE浏览器
}else{
xmr = new ActiveXObject("Microsoft.XMLHttp“); //IE浏览器
}
}
//依据id返回dom节点
function $(id){
retutn document.getElementById(id);
}
//返回id对应的值
function $F(id){
return $(id).value;
}
.使用ajax对象发送请求:
()建立lianjie:请求方式,请求资源路径,请求是同步还是异步
xhr.open("get","check_username.do?username=chang&age=23,true");
().编写处理函数:
xhr.onreadystatechange=function(){
if(xhr.readyState==){ //服务器响应结束
if(xhr.status==){ //服务器返回了正确的结果
//处理代码
}else{
//出现异常
}
}
}
().发送请求参数:
xhr.send(null); post请求
.获取ajax对象
function getxhr(){
var xhr = null;
if(window.XMLHttpRequest){
xmr = new XMLHttpRequest(); //非IE浏览器
}else{
xmr = new ActiveXObject("Microsoft.XMLHttp“); //IE浏览器
}
}
.使用ajax对象发送请求
().建立连接:
xhr("post","check_username",true);
()发送一个请求头:
xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
()编写处理函数:
xhr.onreadystatechange=function(){
if(xhr.readyState==){ //服务器响应结束
if(xhr.status==){ //服务器返回了正确的结果
//处理代码
}else{
//出现异常
}
}
}
()发送请求参数:
xhr.send("username=chang"); 四.乱码问题:
产生原因:
IE浏览器的内置Ajax对象会使用“GBK”,其他浏览器会使用“utf-”对中文参数进行
编码,服务器端默认使用“ISO--”去解码,所以会出现乱码问题。
解决:
.设置服务器使用的字符集,在Tomcat的server.xml文件中配置URLEncoding=“utf-”;
(和8080在一起的那一个connector)
.使用encodeURL()函数(js的内置函数)对请求地址进行编码。
五.缓存问题:
当发送get请求时,IE浏览器会检查请求地址是否访问过,如果访问过,就不会向
服务器发送请求了。
解决:
.在请求地址后面添加一个随机数参数,欺骗IE。
xhr.open("get","getNumber.do?"+Math.random(),true);
.使用post请求发送。
AJAX概述和简单使用的更多相关文章
- 十七、AJAX概述
AJAX概述 1 什么是AJAX AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进 ...
- 从零开始学 Web 之 Ajax(三)Ajax 概述,快速上手
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 再也不学AJAX了!(一)AJAX概述
"再也不学AJAX了"是一个与AJAX主题相关的文章系列,包含以下三个部分的内容: AJAX概述:主要回答"AJAX是什么"这个问题: 使用AJAX:介绍如何通 ...
- AJPFX总结正则表达式的概述和简单使用
正则表达式的概述和简单使用* A:正则表达式 * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. * 作用:比如注 ...
- Linux概述及简单命令
Linux概述及简单命令 转自https://www.cnblogs.com/ayu305/p/Linux_basic.html 一.准备工作 1.环境选择:VMware\阿里云服务器 2.Linux ...
- Ajax概述,封装以及联合模板引擎进行数据交互
欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树Sankey 更多资料可参考Ajax 介绍 ...
- Ajax概述和判断用户名是否存在的简单代码练习
在本代码中主要体现,Ajax实现了部分位置的刷新.不需要重新刷新网页,重新请求服务器.下面用过代码来对Ajax更深的认识 这里需要创建,一个jsp文件(显示登录界面),js文件(对Ajax的主要设置) ...
- ajax代码及简单封装
var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); ...
- Flume概述和简单实例
Flume概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方( ...
随机推荐
- 用插件NPOI读写excel
1.用插件NPOIusing NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using NPOI.HSSF.UserModel; public class E ...
- ubuntu18.04 按住只能删除一个字符bug
只需要打开重复按键就可以了
- Angular27 指令
1 自定概述 2 自定义指令 详情参见<揭秘Angular2> 2.1 属性指令 >工具代码 <div class="panel panel-primary" ...
- Ubuntu18.04创建新的系统用户
目标: 1.为测试学习Docker,在虚拟机OS为18.04里,创建一个系统账号,账号名称:docker 2.在/home下有新建username的文件夹 一.建立账号 1.以root账号登录 2.u ...
- git 的使用方法
git 的使用有3个主要步骤: 1.1 工作区域操作: 在自己的git账号下构建一个工作目录, 并往工作目录里添加文件内容(cp /root/data/VIP_Amount_prediction/* ...
- python3--列表生成式
# Auther: Aaron Fan # 原始的写法:a = []for i in range(10): a.append(i*2)print(a) # 用列表生成式完成上面的写法:a = [i*2 ...
- jsp-MySQL连接池
1.将数据库驱动程序的JAR文件放在Tomcat的 common/lib 中: mysql-connector-java-5.1.18-bin.jar 下载地址:https://yunpan.cn/c ...
- 【Head First Java 读书笔记】(一)基本概念
Java的工作方式 你要做的事情就是会编写源代码 Java的程序结构 类存于源文件里面 方法存在类中 语句存于方法中 剖析类 当Java虚拟机启动执行时,它会寻找你在命令列中所指定的类,然后它会锁定像 ...
- CreateExcel 导出Excel
public class CreateExcel { /// <summary> /// 用Excel组件导出Excel文件 /// </summary> /// <pa ...
- 国外物联网平台(5):Exosite Murano
国外物联网平台(5)——Exosite Murano 马智 定位 Murano是一个基于云的IoT软件平台,提供安全.可扩展的基础设施,支持端到端的生态系统,帮助客户安全.可扩展地开发.部署和管理应用 ...