ajax02
来源:互联网 发布:php 获取当前命名空间 编辑:程序博客网 时间:2024/04/29 08:22
AJAX
第二天
第一节 php基础语法 —- 函数
- 自定义函数,语法类似与JavaScript
- 系统函数直接调用,不需要声明
json_encode() — 将数组和对象转换为字符串的方法;
function foo(){
}
第二节 php基础语法 —- get请求参数获取http协议的常用请求方式:(增删改查)
a、get 用来从服务器获取数据(参数一般作为查询条件)
b、post 用来添加数据
c、put 用来修改数据
d、delete 用来删除数据- $_GET[‘abc’]得到url地址中传递的参数的值
- $_GET是PHP内置好的专门用来接数据用的一个全局数组
注意:绝不能使用 GET 来发送密码或其他敏感信息
第三节 php基础语法 —- post请求参数获取form 默认请求方式就是get请求,
get请求会把表单数据作为url的参数进行提交- 设置服务响应的文件类型:
- header(“Content-Type: text/plain; charset=utf-8”);
- header(“Content-Type: text/html; charset=utf-8”);
- $_POST也是PHP内置好的专门用来接数据用的一个全局数组
1、GET大小限制约4K,POST则没有限制
2、GET是通过url进行传递的,post是通过formdata来进行传递的
3、post方法相对于get方法安全性较高
GET和POST请求方式的差异 - GET没有请求主体,使用xhr.send(null)
- GET可以通过在请求URL上添加请求参数
- POST有请求主体,可以通过xhr.send(‘name=itcast&age=10’)
- POST需要设置请求头
- GET效率更好(应用多)
- GET大小限制约4K,POST则没有限制
第四节 案例
第五节 php基础语法-10-后台接口
- 将数组和对象转换为字符串的方法 — json_encode();
- 将字符串转换为对象的方式 — json_decode();
- 如何更好的理解接口这个概念
接口说白了就是后台返回特定格式数据,而不是一个完整的页面
就是从后台到前台返回一些数据
第六节 php基础语法-11-请求流程分析
第七节 php基础语法-12-前端与后端分工
第八节 隐藏帧iframe方式实现页面局部更新
页面刷新了,刷新的虽然只是iframe子页面,这种做法是实现了页面的局部更新,但是没有异步来实现,2005年左右主流方式,随着ajax出现,隐藏帧iframe方式已经逐渐被ajax取代,现在基本没有公司在使用
第九节 原生Ajax实现页面局部更新
1、什么是Ajax
在不刷新页面的情况下,浏览器悄悄地、异步地向服务器发出HTTP请求。
服务器收到请求后,传回新的格式化数据回来(通常是JSON)。
浏览器解析JSON,通过DOM将新数据呈递显示,页面仅局部刷新
2. open()方法
xhr.open(“get”,”test.txt”,true);
调用open方法并不会真正发送请求,而只是启动一个请求以备发送。
它接受三个参数:要发送的请求的类型、请求的URL、表示是否异步的布尔值。
3. send()方法
如果要发送请求,用send()方法。请求行
要发送特定的请求,需要调用send()方法。
它接受一个参数,即要作为请求主体发送的数据。
如果不需要通过请求主体发送数据,则必须传入null,不能留空。
get请求是只有头部,没有主体的;而post请求有请求主体。
4. xhr对象有一个重要的属性,就是readyState属性,表示“就绪状态”;
就是 — xhr.readyState
readyState取值只有5种值:0、1、2、3、4
0 (uninitialized) 未初始化
(尚未调用open方法)
1 (loading)
XMLHttpRequest对象正在加载已调用
send()方法还没有被调用,正在发送请求
2 (loaded)
MLHttpRequest对象加载完毕
send()方法已经被调用, 响应头和响应状态已经返回.
3 (interactive)
正在传输数据
已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 (complete)
全部完成
数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
只要readyState属性值发生了变化,就会触发一个事件onreadystatechange事件。
此时,可以用
xhr.onreadystatechange = function(){}
来捕获readyState改变之后做的事情。
Ajax一旦用send方法发出HTTP请求之后,
当readyState为4的时候,就会有一个属性产生 — xhr.status
表示的是请求的文件的状态码
1** —- 消息
2** —- 代码请求成功
3** —- 重定向
4** —- 请求错误
5** —- 服务器错误
6** —- 其它
请求行:需要有一个请求方式、一个请求地址url
请求主体:实际上是客户端请求的数据
请求头:post方式请求时,必须设置
第十节 原生Ajax详解-xhr对象创建
- 标准下 — xhr = new XMLHttpRequest();
IE6 — xhr = new ActiveXObject(‘Microsoft.XMLHTTP’);
第十一节 原生Ajax详解-请求参数分析open()方法
参数一: 请求方式(get获取数据,post提交数据);
参数二: 请求的地址
参数三: 同步或者异步标识位,默认是true标识true,false表示
注意:如果是get请求,那么请求参数必须在url中传递
encodeURI()用来对中文参数进行编码,防止乱码。- send()方法
get请求这里需要添加null参数 - post请求参数通过send传递,不需要通过encodeURI()转码
但是必须需要设置请求头参数