一.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. javascript nonono

    javascript实现的点击元素实现当前轮换展现效果 javascript实现的点击元素实现当前轮换展现效果:本章节分享一段代码实例,它实现了点击元素实现当前展现效果,并且具有比较人性化的变换效果. ...

  2. 黑盒测试实践--Day6 11.30

    黑盒测试实践--Day6 11.30 今天完成任务情况: 应用设计的场景用例,完成测试用例的编写 完成测试用例在自动化测试工具QTP上的测试 分析测试结果得到缺陷报告 小靳 软件测试 今天主要钻研了q ...

  3. Ajax步骤

    var request = new XMLHttpRequest(); request.open("GET","get.php",ture); request. ...

  4. Monkey基础命令

    最近一直在看关于自动化测试的文章和工具,这是之前学习monkey的一些知识,想总结一下,方便以后查看,当然也可以提供一些参考.monkey 适合做压力测试,我们可以发送命令让它自己运行,并且指定运行动 ...

  5. javascript总结18:javascript DOM简介

    1 HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应.在事件发生时,执行JavaScript 方法,做出交互. 2 格式: onclick=JavaScript脚本 3 H ...

  6. 编写高质量代码改善C#程序的157个建议——建议30:使用LINQ取代集合中的比较器和迭代器

    建议30:使用LINQ取代集合中的比较器和迭代器 LINQ提供了类似于SQL的语法来实现遍历.筛选与投影集合的功能. static void Main(string[] args) { List< ...

  7. 【Android学习】自定义checkbox

    1.1 自定义checkbox 选中图片 自定义checkbox使用的时android:background而不是android:button,原因在于使用button时自定义图片过大超出边缘部分会截 ...

  8. 微信运动数据抓取(Python)

    "微信运动"能够向朋友分享一个包含有运动数据的网页,网页中就有我们需要的数据.url类似于:http://hw.weixin.qq.com/steprank/step/person ...

  9. C# Excel 操作

    Excel数据到datagridview 里面 (流读取) System.Windows.Forms.OpenFileDialog fd = new OpenFileDialog(); if (fd. ...

  10. pdo + 事务处理 处理线性事务

    /* * 事物处理线性操作. * 以转账为例 */ header('Content-type:text/html;charset=utf-8'); $opt = array(PDO::ATTR_PER ...