首页
学习
活动
专区
工具
TVP
发布

Ajax基础

Ajax对象的成员

属性:

responseText: 以字符串形式接收服务端返回的信息

responseXML 获得XML形式的响应数据的信息

readyState:

0:请求未初始化,刚创建AJAX对象

1:服务器连接已建立,已经调用open方法

2:请求已接收,已经调用send方法

3:请求处理中,已经部分数据

4:请求完成,数据返回完整

Status:

200:”OK”

404:未找到页面

当 readyState 等于 4 且状态为 200 时,表示响应已就绪:

Onreadystatechange:事件,当ajax状态readyState发生变化的时候呀要触发执行 最后感知四种状态

为了获得较多的状态,最好在创建好对象后就设置

最多可以感知1/2/3/4四种状态

方法:

opend(‘请求方式:get/post’,’请求地址’) 创建新的http请求

Send(null)

Send(给服务器传递信息)

方法:

opend(‘请求方式:get/post’,’请求地址’) 创建新的http请求

Send(null)

Send(给服务器传递信息)

例题:

Post与 get 两者的不同

1、给服务器传递数据量

Get 方式的大小是受限制于浏览器,大部分浏览器是2K的限制

每个浏览器的限制不一样,谷歌就是8k

上述请求通过get方式传递了9个字节的信息

1024字节=1K

Post原则没有限制的,php.ini对其限制为8M

2、安全方面,post传递数据较安全

3、传递数据的形式不一样

Get方式在url地址后边以请求字符串形式传递参数

红色部分就是请求字符串,就是一些’名-值’ 对 ,中间使用&符号连接

Post方式是把form表单的数据请求出来是以xml形式传递给服务器

对特殊信息的处理

在浏览器里通过get参数传递一些特殊符号信息会被误解混淆,例如 & = 等。

为了避免特殊符号被误解产生歧义,需要对其进行编码处理

同时如果传递get参数中文信息,也需要编码处理

1、在php 里可以函数urlencode()/urldecode()对特殊符号进行编码、反编码处理(url_encode()可以把中文转变为浏览器可以识别的信息,编码后的信息为%号后接两个十六进制数)

2、在javascript里面可以通过encodeURIComponent()对特殊符号及中文等信息进行编码。编码后的信息可以被正常接收使用,无需反编码。

Ajax之post请求需要注意的四个地方;

1、给服务器传递数据需要调用send(请求字符串数据)方法

2、调用方法setRequesHeader()把传递的数据组织为xml格式(模仿form表单传递数据)

3、传递的中文信息无需编码,特殊符号像 & = 等还需要编码

4、该方式请求的同时也可以传递get参数信息,同样使用$_GET接收该信息;

Post方式请求需要设置header头协议,以便把数据组织为xml形式:

Post方式传递数据是模拟form表单传递数据

Form表单的post格式数据是通过xml形式传递给服务器的

以下setRequestHeader()方法必须要在open()方法后调用

setRequestHeader(“content-type”,”application/x-www-form-urlencoded”)

Ajax对xml信息的接收和处理

Ajax负责请求xml和接收xml信息,dom负责处理xml信息dom;

Php里边,dom是php与xml(html)之间的沟通桥梁

Javascript里边,dom是javascript与html(xml)之间沟通桥梁

Xml需要从服务器端返回到客服端被javascript处理

Ajax:负责请求xml回来

Dom(javascript):负责处理xml信息

Ajax+javascript实现对xml的接收处理,可以方便我们后期通过一个静态网站(html+css+javascript)实现对各个xml接口数据的处理

格式:

输出其中一个成员方法:getElementByTagName

Document对象 和 普通元素对象都可以调用getElementByTagName

AJAX PHP 实例实现的效果

实例:

以下是test.php文件

以上就是个人整理出来的AJAX基础,供大家参考和学习。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190130G17INK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券