ajax传值为什么google和ie传值不一样_ajax手动封装

什么是Ajax(Ajaj)
ajax(Asynchronous JavaScrip and XML 异步的javascript和xml)
可实现异步、局部的获取数据

XML格式 和 json格式: 虽然是说ajax,但是现在很少使用XML格式了,因为不方便操作,我们使用json格式,它和javascript语法很像,操作起来很方便。

json格式: 类似对象被大括号包围,并且键和值都都需要被双引号包裹(除了number值和boolean值);

json格式字符串: 这个和json格式唯一的区别仅仅是它是json格式的字符串,多了一对单引号。

JSON.parse(data) // json格式字符转json

JSON.stringify(data) // json转字符串

<name>aimee

get请求: 通常用来获取数据post请求: 通常用来上传数据

封装Ajax:
1. web浏览器
2. ajax对象

xml = new XMLHttpRequest()
3. 初始化HTTP请求参数(请求方式,地址,同步异步)

xml.open()
4. 发送请求

xml.send()
5. 监听数据
readyState发生改变的时候出发onreadystatechange事件

readyState五种状态:
0-(未初始化) 还没有调用send()方法
1-(载入) 已调用send()方法,正在发送请求
2-(载入完成) send()方法执行完成,已经接收到全部响应内容
3-(交互) 正在解析响应内容
4-(完成) 响应内容解析完成,可以在客户端调用了

6. 检查数据 使用

xml.status

HTTP状态码 xml.status
100: 信息类,表示web浏览器请求,正在进一步处理中
200: 成功,表示用户请求被正确接收正在进一步处理中 200 OK
300: 表示没有请求成功,客户端必须采取进一步的动作
400: 客户端错误,表示客户端提交的请求错误 列如:404 NOT Found
500: 服务器错误 表示服务器不能完成对请求的处理,如:505

基础ajax.js文件之get示范

注意点:

  1. XMLHttpRequest在IE7以上才出现,要做好以前浏览器的兼容处理;
function 

POST配置: 上传参数

注意点:

  1. 传值格式: username=aimee&age=18
  2. 拼接的字符串在第四步xml.send(data)这里上传
  3. 比get多xml.setRequestHeader()这个参数,告诉服务器编码格式
document

GET配置: 那GET也可以传参吗?

答案是: 可以的

注意点:

1. get请求传参拼接在url+?后方

function 

终极大招: 封装Ajax

注意点:

  1. 多次使用get请求同一个地址,会产生缓存,post请求不会产生缓存,解决办法: 使用随机数或时间戳(这个更适合)

v2-ee2fa007e0f5a9e220d525042666e8d0_b.jpg
  1. (为什么插了张图片,这里要重新开始呢??)
  2. 防止有时候浏览器不认get、post的小写。兼容一下: method = method.toUpperCase();
document

以下是html文件:

<!DOCTYPE html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值