一.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. SpringBoot13 利用mybatis-plus自动生成entity、dao、service、controller

    1 环境配置 = 2 新建一个新的springboot项目 2.1 选择一些必要的依赖 web jpa mysql <?xml version="1.0" encoding= ...

  2. Win10 linux子系统Ubuntu下显示图形界面

    转载 https://jingyan.baidu.com/article/ed2a5d1f98577809f6be17a3.html 打开终端界面,在这个窗口测试一下ls命令,无误. # 更新 sud ...

  3. 36.LEN() 函数

    LEN() 函数 LEN 函数返回文本字段中值的长度. SQL LEN() 语法 SELECT LEN(column_name) FROM table_name SQL LEN() 实例 我们拥有下面 ...

  4. Luogu 2704 [NOI2001]炮兵阵地

    唔,想到了状压之后就不会了……实在是菜 考虑压两行,设$f_{i, j, k}$表示当前到第$i$行,上一行是$j$状态,前一行是$k$状态的最多能放的炮兵的数量. 发现第一维还可以滚掉,好像可以转移 ...

  5. 学习PDO啦

    通过查找资料对PDO有了一定的了解,PDO(PHP Data Object )为PHP数据对象,为PHP访问数据库提供了一个轻量级的借口,但PDO本生不能实现访问数据库的任何功能,只能通过数据库的PD ...

  6. nodelet的理解

    1.介绍 nodelet包可以为在相同进程中的多个算法之间实现零拷贝的传输方式. 这个包也提供了实现一个nodelet所需的nodelet基类以及用于实例化nodelet的NodeletLoader类 ...

  7. hdu1269 Tarjan强连通分量 模板(转)

    #include<stdio.h> #include<iostream> #include<vector> using namespace std; ; vecto ...

  8. 在线破解PDF

    在线破解PDF密码的6个网站 有很多PDF文件只能查看却不能被编辑和打印,因为它们已被保护.你并不知道被保护的PDF文档的密码却又急着向上司交差,怎么办?让 Ap PDF Password Recov ...

  9. Python基础入门-元祖

    其实,元组合列表的特性和使用几乎差不太多,今天我们重点来看下元组的一些操作和使用. 1.元祖的定义和特点 定义:元组是以小括号包围,元素以逗号分隔,不可变的序列之一. 特点: 1)元祖内的元素不可以增 ...

  10. delphi让exe开机自启动

    procedure AutoRunOnSystemStart(Title, FileName: String);const  _Software_Microsoft_Windows_CurrentVe ...