原生Ajax之GET、POST请求

淡淡的烟草味﹌ 2022-06-02 03:54 711阅读 0赞

ajax可以接收什么信息?
答:浏览器可以接收的信息ajax都可以接收,例如字符串、html标签、css样式内容、xml内容、json内容等等。
http请求方式:post 、get 、put 、heade、delete、trace Connect 、options….

ajax 对象成员:

属性成员:

  1. responseText : 以字符串形式接受服务端返回的信息
  2. readyState : ajax对象的状态
    0:ajax对象创建完毕 1:已经调用open方法 2:已经调用send方法 3:数据已经返回一部分 4:数据返回完毕

onreadystatechange : 事件属性(对讲机)
readyState属性值发生变化的时候该事件被触发执行,为了获得较多的状态细信息,在对象创建完毕后设置该事件最多只能感知readyState的1/2/3/4状态值

方法成员:

open()创建一个新的http请求
send()把http请求发送给服务端

responseText 先接受数据
readyState是: AJAX对象的维持状态 xhr.readyState == 4;表示数据接受完毕
Onreadystatechange :事件监听 属于事件on 用来判断readyState的状态值,判断数据是否已经接受完毕。

ajax对象.open(get/post, 请求地址);

GET请求

  1. <script type="text/javascript">
  2. function f1(){
  3. var nm = document.getElementById('username).value;
  4. //对特殊字符进行处理
  5. nm = encodeURLComponent(nm);
  6. //①创建对象
  7. var xhr = new XMLHttpRequest();
  8. //④设置事件,感知readyState状态变化,进而获得服务器的返回信息
  9. xhr.onreadystatechange = function(){
  10. if(xhr.readyState == 4){
  11. alert(xhr.responseText); //返回数据
  12. }
  13. //② 创建新的http请求
  14. xhr.open('get','./03.php?id='+nm);
  15. //③ 发送请求
  16. xhr.send(null);
  17. }
  18. }
  19. </script>

post请求

  1. <script type="text/javascript">
  2. function checkname(){
  3. var nm = document.getElementById('username).value;
  4. //对特殊字符进行处理
  5. nm = encodeURLComponent(nm);
  6. //①创建对象
  7. var xhr = new XMLHttpRequest();
  8. //把需要传递的信息转化为字符串格式
  9. var info = "name"+nm+"&ag=20";
  10. //④设置事件,感知readyState状态变化,进而获得服务器的返回信息
  11. xhr.onreadystatechange = function(){
  12. if(xhr.readyState == 4){
  13. alert(xhr.responseText); //返回数据
  14. }
  15. //② 创建新的http请求
  16. //post方式传递数据是模拟form表单方式传递的数据
  17. xhr.open('get','./04.php?color=red');
  18. //设置http头协议,把传递的post数据转化为xml格式
  19. //setRequestHeader方法必须放在open方法的后边调用
  20. xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
  21. //③ 发送请求
  22. xhr.send(info);
  23. }
  24. }
  25. </script>

ajax对缓存的处理

动态程序文件避免缓存效果:
① 保证每次请求都是不同的请求 [推荐使用]
② 设置header头禁止浏览器缓存当前的动态页面

方法一、请求地址后面添加随机数 +Math.random();
方法二、 在服务气端(php)设置响应头
//设置header头,禁止浏览器缓存当前页面
header('Cache-Control:no-cache');
header('Pragma:no-cache');
header('Expires:-1');

发表评论

表情:
评论列表 (有 0 条评论,711人围观)

还没有评论,来说两句吧...

相关阅读

    相关 原生JS Ajax请求

    传统方法的缺点: 传统的web交互是用户触发一个http请求服务器,然后服务器收到之后,在做出响应到用户,并且返回一个新的页面,每当服务器处理客户端提交的请求时,客户都只能