一.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概述和简单使用的更多相关文章

  1. 十七、AJAX概述

    AJAX概述 1 什么是AJAX AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进 ...

  2. 从零开始学 Web 之 Ajax(三)Ajax 概述,快速上手

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  3. 再也不学AJAX了!(一)AJAX概述

    "再也不学AJAX了"是一个与AJAX主题相关的文章系列,包含以下三个部分的内容: AJAX概述:主要回答"AJAX是什么"这个问题: 使用AJAX:介绍如何通 ...

  4. AJPFX总结正则表达式的概述和简单使用

    正则表达式的概述和简单使用* A:正则表达式        * 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用.        * 作用:比如注 ...

  5. Linux概述及简单命令

    Linux概述及简单命令 转自https://www.cnblogs.com/ayu305/p/Linux_basic.html 一.准备工作 1.环境选择:VMware\阿里云服务器 2.Linux ...

  6. Ajax概述,封装以及联合模板引擎进行数据交互

    欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树Sankey 更多资料可参考Ajax 介绍 ...

  7. Ajax概述和判断用户名是否存在的简单代码练习

    在本代码中主要体现,Ajax实现了部分位置的刷新.不需要重新刷新网页,重新请求服务器.下面用过代码来对Ajax更深的认识 这里需要创建,一个jsp文件(显示登录界面),js文件(对Ajax的主要设置) ...

  8. ajax代码及简单封装

    var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); ...

  9. Flume概述和简单实例

    Flume概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方( ...

随机推荐

  1. 优化tomcat配置(从内存、并发、缓存3个方面)优化

    Tomcat有很多方面,我从内存.并发.缓存三个方面介绍优化方法. 一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catal ...

  2. 新浪SAE高级开发者认证通过

    如题,新浪SAE高级开发者认证通过,申请的方式为提交开源项目地址,用的是如下的项目 http://jqext.sinaapp.com/ 之前该项目是部署在 mopaas 上的,在拿到高级开发者资格后迁 ...

  3. mysql sandbox的问题备忘

    工具很好用,但是安装运行时有些小问题: 1.启动数据库时提示--bootstrap已禁用:那是mysql5.7以后废弃了此参数,改用--initialize来初始化了,而一般公共仓库里的sandbox ...

  4. 显著水平alpha

    http://blog.minitab.com/blog/adventures-in-statistics-2/understanding-hypothesis-tests:-significance ...

  5. linux下mariadb的下载与卸载

    Linux下mariadb的安装 使用阿里云的mariadb yum install mariadb-server mariadb -y 启动mariadb数据库 systemctl start/st ...

  6. JavaScript判断是否是数组

    在 ECMAScript5中定义了一个新的方法Array.isArray(). 如果参数是数组的话,就返回true eg: Array.isArray([]); // true 如果里面换一个类似数组 ...

  7. bootstrap强调类名

    1.   .lead .lead { margin-bottom: 20px; font-size: 16px; font-weight: 200; line-height: 1.4; } @medi ...

  8. Python基础入门-函数实战登录功能

    ''' 函数实战: .加法计算器 .过滤器 .登录功能实战 ''' def add(a,b): return a+b def login_order(): return 'asdfasdfdasfad ...

  9. MongoDB整理笔记の管理Sharding

    1.列出所有的Shard Server > db.runCommand({ listshards: 1 }) --列出所有的Shard Server { "shards" : ...

  10. c#递归理解

    什么是递归函数? 任何一个方法既可以调用其他方法又可以调用自己,而当这个方法调用自己时,我们就叫它递归函数或者递归方法! 说白了,就是调用自己. 通常递归有两个特点:     1.递归方法一直会调用自 ...