Ajax

1.什么是ajax
Ajax: asynchronous javascript and xml (异步javascript和xml)
其是可以与服务器进行(异步/同步)交互的技术之一。
ajax的语言载体是javascript。其是浏览器的一个技术
最大特点:页面不刷新(用户体验非常好)
在百度首页面ajax的使用场合:
(用户输入完“北京中关村”五个字的时候,是ajax带着这5个字去服务器做了一次请求,并查询相关的信息返回显示)
在这里插入图片描述
用户注册,用户名验证,ajax使用效果之一:
(输入完毕用户,ajax带着用户名跑到服务器端做验证)
在这里插入图片描述
传统方式用户名校验示意图:
在这里插入图片描述
Ajax方式用户名校验示意图:
在这里插入图片描述
ajax技术是许多旧技术的集合
xhtml、css、javascript、xml、xmlhttprequest对象(ajax对象)
其中XMLHttpRuquest是ajax的官方的名称。
二.ajax使用
1.创建ajax对象
1.1 主流浏览器方式
火狐、chrome(google)、safari(苹果)、opera包括IE7以上版本的浏览器
var xhr = new XMLHttpRequest();
在这里插入图片描述
2.发起对服务器的请求
在这里插入图片描述
请求的服务器端页面:
在这里插入图片描述
ajax对服务器端请求的结果:生成02.txt文件并追加内容
在这里插入图片描述
3. ajax接收服务器返回信息
ajax可以接收什么信息?
答:浏览器可以接收的信息ajax都可以接收,例如字符串、html标签、css样式内容、xml内容、json内容等等。
ajax接收返回的信息,需要结合readyState/onreadystatechange/responseText等属性一并操作:
onreadystatechange事件最多感知4种状态改变信息:
在这里插入图片描述
ajax对象常用属性和方法:
在这里插入图片描述
ajax完整服务器端信息的接收:
在这里插入图片描述
服务器端内容:
在这里插入图片描述
在这里插入图片描述
ajax的相关属性:
在这里插入图片描述
ajax对象常用方法:
在这里插入图片描述
get和post方式的ajax请求
ajax对象.open(get/post, 请求地址);
4.1 两者的不同
① 给服务器传递数据量
get方式的大小是受限于浏览器,大部分浏览器是2k的限制
每个浏览器的限制不一样 chrome就是8K
http://网址/index.php?name=tom
上述请求通过get方式传递了9个字节的信息
1024字节 = 1k
post原则没有限制,php.ini对其限制为8M
② 安全方面,post传递数据较安全
③ 传递数据的形式不一样
get方式在url地址后边以请求字符串形式传递参数
http://网址/index.php?name=tom&age=23&addr=beijing
蓝色部分就是请求字符串,就是一些“名-值”对,中间使用&符号连接。
post方式是把form表单的数据给请求出来以xml形式传递给服务器
4.2 ajax之get方式请求
ajax之get请求需要注意的两个地方:
① 在url地址后边以请求字符串(传递的get参数信息)形式传递数据。
② 对中文、=、&等特殊符号需要编码处理
对特殊信息的处理:
在浏览器里通过get参数传递一些特殊符号信息会被误解混淆,例如 & = 等,浏览器会把这样的信息当做get参数的一部分而进行一个错误的解析,为了避免这种情况发生,可以对该信息进行编码处理。有的浏览器传递中文会出现不识别问题,也可以进行编码处理。
(编码后的信息是相对底层的信息,浏览器会自动识别,获取的时候无需反编码)
①.在php里边可以函数 urlencode()/urldecode()对特殊符号进行编码、反编码处理
②.在javascript里边可以通过encodeURIComponent ()对特殊符号等信息进行编码。

(以上红色函数可以把”特殊符号、中文”转变为浏览器可以识别不会混淆的信息。
编码后的信息为%号后接两个十六进制数)
在这里插入图片描述
在这里插入图片描述
ajax通过get方式进行触发请求:
在这里插入图片描述
服务器端页面:
在这里插入图片描述
在php中通过get方式传递特殊符号可以通过urlencode()进行处理:
在这里插入图片描述
4.3 ajax之post方式请求
ajax之post请求需要注意的四个地方:
① 给服务器传递数据需要调用send(请求字符串数据)方法
② 调用方法setRequestHeader()把传递的数据组织为xml格式(模仿form表单传递数据)
③ 传递的中文信息无需编码,特殊符号像 &、=等 仍需要编码
④ 该方式请求的同时也可以传递get参数信息,同样使用$_GET接收该信息
form表单的数据是通过xml格式发送给服务器端的:
在这里插入图片描述
ajax进行post请求:
在这里插入图片描述
服务器端处理:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值