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提供对数据进行简单处理,并写到各种数据接受方( ...
随机推荐
- 2014蓝桥杯B组初赛试题《切面条》
题目描述: 一根高筋拉面,中间切一刀,可以得到2根面条. 如果先对折1次,中间切一刀,可以得到3根面条. 如果连续对折2次,中间切一刀,可以得到5根面条. 那么,连续对折10次 ...
- Django--form保存用户输入内容
需求 用户提交form时,如果报错,页面中的用户信息还在(除了密码),没有被刷新掉,不用用户再次输入. 速查 views.py 1 2 3 def login(request): obj = ...
- 498B Name That Tune
传送门 题目大意 n首音乐,第i首被听出来的概率为pi,刚开始听第一首,1s后如果听出来了则放第下一首,否则接着听这一首,第i首在连续听了ti s之后一定会被听出来,问Ts后听出来的歌的期望数量. 分 ...
- JavaScript跨域调用基于JSON的RESTful API
1. 基本术语 AJAX(Asynchronous JavaScript And XML,异步JavaScript和XML):AJAX是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交 ...
- Qt工程文件Pro介绍(转)
转载请注明:http://blog.163.com/hu_cuit/blog/static/122849143201127104232142/ 我也才开始学习QT的菜鸟.但是前几天有同学叫我给他讲一下 ...
- (转)Asp.Net生命周期系列三
原文地址:http://www.cnblogs.com/skm-blog/p/3178862.html 上文讲到了HttpRunTime主要做了三个事情,我们先回忆一下. 第一:雇佣了项目经理(Htt ...
- c#字符相似度对比
字符串相似度算法使用 Levenshtein Distance算法(中文翻译:编辑距离算法) 这算法是由俄国科学家Levenshtein提出的. 下面使用C#实现 public class Leven ...
- mysql 复制(主从复制)
一.概述 让一台服务器的数据与其他服务器数据保持同步.一台主库的数据可以同步到多台备库上,而备库本身也可以配置成其他服务器的主库. 主要应用: 1) 数据分布 2) 负载均衡 3) 伪备份.在备份基础 ...
- 数据库抽象层 pdo
一 . PDO的连接 $host = "localhost"; $dbname = "hejuntest"; $username = "root&qu ...
- curl下载目录
http://ftp.loongnix.org/os/loongnix/1.0/SRPMS/ wget wget -c -r -np -k -L -p