返回顶部
首页 > 资讯 > 精选 >ajax原理以及应用场景
  • 897
分享到

ajax原理以及应用场景

2023-06-08 06:06:52 897人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关ajax原理以及应用场景,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Ajax原理:页面不刷新的情况下,利用XMLHttpRequest对象发送HTTP请求,然后

这篇文章将为大家详细讲解有关ajax原理以及应用场景,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

Ajax原理:页面不刷新的情况下,利用XMLHttpRequest对象发送HTTP请求,然后根据返回的内容进行相应的业务逻辑

使用Ajax的步骤:

(1)创建XMLHttpRequest对象
(2)发送http请求
(3)根据服务器返回的内容进行相应的操作

一步一步来说哈!

1、创建XMLHttpRequest对象

先看看w3c给出的信息

ajax原理以及应用场景

也就是说,如果要使用XMLHttpRequest对象还必须考虑浏览器的兼容型,因此可以封装一个方法来创建XMLHttpRequest对象。

//创建XMLHttpRequest对象function createXhr(){  var xhr = null;  if(window.XMLHttpRequest){    xhr = new XMLHttpRequest();//谷歌、火狐等浏览器  }else if(window.ActiveXObject){    xhr = new ActiveXObject("Microsoft.XMLHTTP");//ie低版本  }  return xhr;}

2、发送Http请求

Http简述:

学过http请求的同学应该都知道,一个简单的请求应该包含这几部分内容,分别请求方法、主机、路径、协议版本等。

Telnet发送http请求截图:

ajax原理以及应用场景

Ajax中的Http请求:

在这里只用给出请求方法、路径。但是还有一个是请求方式,分为同步和异步,先不说同步和异步的差别,true表示异步,false表示同步。

xhr.open('GET','./05-ajax-vote.PHP',true);//确定请求的路径xhr.send(null);//发送请求,携带数据为空

案例:

Ajax异步投票程序

文件结构图:

ajax原理以及应用场景

05-ajax-vote.html文件:

点击投票按钮,调用vote函数,然后穿件xhr对象,发送http请求,此处使用的是异步,并且实现了状态回调函数,然后在里面判断投票是否成功。

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <title>无刷新投票界面</title>  <link rel="stylesheet" href=""></head><script>  //创建XMLHttpRequest对象  function createXhr(){    var xhr = null;    if(window.XMLHttpRequest){      xhr = new XMLHttpRequest();//谷歌、火狐等浏览器    }else if(window.ActiveXObject){      xhr = new ActiveXObject("Microsoft.XMLHTTP");//ie低版本    }    return xhr;  }  //ajax投票  function vote(){    //1、创建xhr对象    var xhr = createXhr();    //2、确定请求方法、路径、请求方式为异步    xhr.open('GET','./05-ajax-vote.php',true);    //3、发送请求    xhr.send(null);    //4、异步方式设置回调    xhr.onreadystatechange = function(){      //如果准备状态为4,表示执行结束      if(this.readyState == 4){        //根据服务端返回的标识来提示用户投票是否成功        if(xhr.responseText == '1'){          alert('投票成功');        }else{          alert('投票失败');        }      }    }  }</script><body>  <h2>无刷新投票界面</h2>  <img src="./lin.jpg"/>  <p>    <a href="javascript:void(0);" rel="external nofollow" onclick="vote();">投票</a>  </p></body></html>

05-ajax-vote.php文件:

以随机数的形式来模拟投票是否成功,如果成功则往05-ajax-vote-res.txt文件中增1,并返回表示1,失败则返回表示0。

<?phpif(rand(0,10) > 4){  echo '0';//返回“投票失败”标识}else{  $number = file_get_contents('./05-ajax-vote-res.txt');  $number++;  file_put_contents('./05-ajax-vote-res.txt',$number);  echo '1';//返回“投票成功”标识}?>

效果图:

ajax原理以及应用场景

同步和异步的区别:

同步:当xhr对象发送请求后,此时本页面脚本执行被中断,会等待该请求(05-ajax-vote.php)执行结束,才会回到断点继续执行发送请求后的操作。

异步:当xhr对象发送请求后,不需要等待发出的请求(05-ajax-vote.php)被执行结束,而是接着从发送请求的语句的后续继续执行

注意:如果采用异步方式请求某地址,如果要使用该地址返回的内容,则必须要设置状态回调函数,在回调函数中操作从服务器返回的内容,该回调函数会在该请求完成后被执行。

关于ajax原理以及应用场景就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: ajax原理以及应用场景

本文链接: https://lsjlt.com/news/252299.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ajax原理以及应用场景
    这篇文章将为大家详细讲解有关ajax原理以及应用场景,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Ajax原理:页面不刷新的情况下,利用XMLHttpRequest对象发送HTTP请求,然后...
    99+
    2023-06-08
  • ThreadLocal原理介绍及应用场景
    本次给大家介绍重要的工具ThreadLocal。讲解内容如下,同时介绍什么场景下发生内存泄漏,如何复现内存泄漏,如何正确使用它来避免内存泄漏。 ThreadLocal是什么...
    99+
    2024-04-02
  • RabbitMQ原理以及使用场景是什么
    本篇文章给大家分享的是有关RabbitMQ原理以及使用场景是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一. RabbitMQ 简介MQ...
    99+
    2024-04-02
  • Zookeeper的基础原理及应用场景
    本篇内容介绍了“Zookeeper的基础原理及应用场景”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!简单了...
    99+
    2024-04-02
  • ssl原理及应用场景是什么
    SSL(Secure Sockets Layer)是一种加密协议,用于保护在互联网上传输的数据安全。它使用公钥加密来保护数据的机密性...
    99+
    2023-06-12
    ssl原理 ssl
  • ssl原理及应用场景有哪些
    SSL(Secure Sockets Layer)即安全套接层,是一种加密协议,用于保护网络通信的安全性。其主要原理是在传输层之上建...
    99+
    2023-06-04
    ssl原理 ssl
  • MySQL事务的原理及应用场景
    MySQL事务的原理及应用场景 在数据库系统中,事务是一组SQL操作的集合,这些操作要么全部成功执行,要么全部失败回滚。MySQL作为一种常用的关系型数据库管理系统,支持事务的特性,能...
    99+
    2024-03-02
    应用 mysql 事务
  • Java ThreadLocal原理解析以及应用场景分析案例详解
    目录ThreadLocal的定义ThreadLocal的应用场景ThreadLocal的demoTheadLocal的源码解析ThreadLocal的set方法ThreadLocal...
    99+
    2024-04-02
  • ZooKeeper核心原理及应用场景是什么
    这篇文章将为大家详细讲解有关ZooKeeper核心原理及应用场景是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。为什么会有ZooKeeper 我们知道要写一个分布式应用是非常困...
    99+
    2023-06-02
  • PHP开发缓存的原理及应用场景
    PHP开发缓存的原理及应用场景,需要具体代码示例随着互联网技术的发展,PHP已成为广泛应用的开发语言之一。在PHP开发中,使用缓存是一种常见的优化技术,可以减少数据库查询次数,缩短响应时间,提升应用性能。缓存原理缓存是一种将数据存储在内存中...
    99+
    2023-11-08
    缓存 原理 关键词:PHP
  • Python中super()的理解以及应用场景实例
    目录一、前言二、什么是super三、super的常用使用场景总结一、前言 最近有粉丝向我咨询super相关的问题,说网上搜索到的教程不够通俗易懂,看了之后还是不太理解。所以在这里基...
    99+
    2024-04-02
  • ThreadLocal原理分析及应用场景是怎样的
    本篇文章给大家分享的是有关ThreadLocal原理分析及应用场景是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. ThreadLocal是什么?有哪些用途?首先介绍...
    99+
    2023-06-22
  • Java反射机制原理、Class获取方式以及应用场景详解
    目录学习背景一、Java反射机制是什么?1.1 反射原理1.2 反射例子二、Java反射机制中获取Class的三种方式及区别?2.1 Class的几种获取方式2.2 代码演示几种方式...
    99+
    2024-04-02
  • ajax的应用场景有哪些
    1. 实时更新数据:Ajax可以使网页实时更新数据,而无需重新加载整个页面。例如,在社交媒体网站上,当有新的消息或评论时,页面可以自...
    99+
    2023-08-25
    ajax
  • swift语言AutoreleasePool原理及使用场景
    目录使用场景NSAutoreleasePool@autoreleasepool__autoreleasing源码分析__AtAutoreleasePool结构体Autorelease...
    99+
    2024-04-02
  • Ajax常见应用场景有哪些
    这篇文章将为大家详细讲解有关Ajax常见应用场景有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1 什么是AJAXAJAX(Asynchronous JavaScri...
    99+
    2024-04-02
  • mysql主从同步原理及应用场景示例详解
    目录基础知识MySQL 主从同步的主要应用场景有:原理设置主从同步,还有以下几个前提:实验环境模拟实现主从同步首先在 docker 中拉取 mysql 5.7 版本的镜像:通过以下命...
    99+
    2022-11-13
    mysql主从同步 mysql主从同步应用场景
  • Kafka及场景应用(中3)
    版权声明:欢迎转载,但是看在我辛勤劳动的份上,请注明来源:http://blog.csdn.net/yinwenjie(未经允许严禁用于商业用途!)                https://blog.csdn.net/yinwenj...
    99+
    2023-01-31
    场景 Kafka
  • Mybatis-Plus的应用场景描述及注入SQL原理分析
    目录一、背景1.1 传统Mybatis的弊端1.2 MyBatis-Plus的定位1.3 特性1.4 原理解析二、准备工作2.1 基础接口BaseMapper2.2 创建实体类对象2...
    99+
    2024-04-02
  • Vue中状态管理器(vuex)详解以及实际应用场景
    目录Vue中 常见的组件通信方式可分为三类Vuex简介1. State2. Getters3. Mutations4. Actions5. 使用 mapState、mapGetter...
    99+
    2022-11-16
    vuex 状态管理 vue 状态管理 vue状态管理器vuex
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作