ajax语句,Ajax学习笔记总结

Ajax(Asynchronous Javascript And Xml)

异步的js和xml

2004年发布,专门用来处理异步请求的技术,大大提高了用户处理页面的效率 可以说是web2.0以来最大的革命技术

同步是指用户发出请求,必须等待响应的返回,如果响应迟迟没有返回,则用户必须一直等待在哪里

当响应返回时整个页面被完全刷新

异步是指用户发出的请求不需要等待响应的返回,当响应返回时用户可能正在进行其他操作

响应返回页面部分刷新并不会导致整个页面的刷新

Ajax使用到的技术

JavaScript的核心语法

xml来封装数据

dom4j解析数据

json是2006年假加入ajax体系用来取代xml

dhtml是动态页面技术 包括很多前端技术css html xhtml等

一般的步骤

创建异步请求

function create(){}

发送异步请求

checkName(value){}

回调函数

function callback(){}

创建异步请求

request.new XMLHttpRequest();

此代码是level2版本 支持大部分浏览器,但是对ie6 7 8及之前的老旧浏览器兼容性差

如果出现无法创建的情况 使用level1版本

if(window.XMLHttpRequest){

request = new XMLHttpRequest();

}else{

request = new ActiveXObject("Microsoft.XMLHttp");

}

发送异步请求

一般步骤

1、创建异步请求

调用之前的方法create()

2、发送异步请求

request.open(method, url, async, username, password);

在发送到的目的地进行业务逻辑的实现

method:发送请求的类型(get或post)

url:发送请求的目的地(如果类型为get则可以使用?传值)

async:默认为true表示使用异步请求,false是使用同步请求 如果响应未返回则浏览器锁死等待响应

username和password:如果web容器开启安全策略 则必须填写用户名和密码

3、设置使用字符流

request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

post专属,get不需要书写

4、声明回调函数

request.onreadystatechange = callback;

这里表示在readyState参数发生改变时执行回调函数

5、设置要发送的值

request.send("key="+value);

注意有等号get不从此处传递值 不需要传递值填写null

但是不可以不书写

回调函数

首先判断返回的响应是完整的

if(request.readyState==4)

其次判断服务器没有出现异常

if(request.status==200)

以上都满足的话执行下面语句

接受返回的值

var value = request.responseText;

拿取lable

var dom_lb = document.getElementById("key");

拿取提交按钮

var dom_sub = document.getElementById("key");

进行一些列的操作

使用XML技术封装数据

doc.asXML() 将创建好的对象模型转换为xml

out.print(doc.asXML());

Json(JavaScrip Object Notation)

被称之为Java的常用的第十种数据类型,一般在服务器端创建封装数据,在页面解析数据

Json是一种特殊格式的字符串,可以直接打印

MINe信息是 text/plain

在2006年加入ajax技术体系之后代替了xml,专门用来封装数据

Json存在两种形式

1):{key:value,key:value,key:value***}

key必须是字符串

value:八种基本数据类型,字符串,自定义类型,数组,集合,null

2):[value,value,value***]

value:八种基本数据类型,字符串,自定义数据类型,数组,集合,null,Json

封装方式1:

可以封装任意数据类型,封装之后呈现格式1

JSONObject jo = new JSONObject();

jo.put("key1",value);

封装方式2:

专门用来封装自定义数据类型和Map

Mapmap = new HashMap();,string>,string>

map.put(1,"value");

对自定义数据类型进行有选择的封装

JsonConfig jc = new JsonConfig();

设置不封装的属性名

jc.setExcludes(newString[]{"属性名","属性名"});

封装方式3:

用来封装数组,List和Set

封装之后呈现格式2

Listlist = new ArrayList();

list.add("Java");

JSONArray ja = JSONArray.fromObject(strAr);

对Json封装的数据进行解析的话

需要导jar包

使用转换器将合法格式的json字符串转换成js对象(dom对象)

转换规则

json中的key全部转换为js对象的属性名

json中的value全部转换为js对象的属性值

29017522109d8eacba77136291c3d71b.png

举报/反馈

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值