热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ajax入门教程之30分钟实例演示

在所有的教程中,不管是网上的资料还是书籍上。都说,想要学会ajax,需要提前学会html+css+javascript就行了,然后很多前端初学者们就开始学,结果发现照着例子写了半天愣是没啥反应,最终果断放弃~
在所有的教程中,不管是网上的资料还是书籍上。都说,想要学会ajax,需要提前学会html+css+Javascript就行了,然后很多前端初学者们就开始学,结果发现照着例子写了半天愣是没啥反应,最终果断放弃~【推荐教程:AJAX视频教程

其实……你们没有搭建后台环境啊,亲~

1.先搭建一个后台环境吧?比如php

对于我们~前端的初学者来说,哪有这么多精力时间去精学PHP啊,对吧?所以呢,推荐一个php环境搭建:phpstudy,只要下一步下一步的安装就OK了。

我将PHPStudy安装到了D盘,所以进入D盘找到phpstudy文件夹里面的WWW文件夹

WWW文件夹就相当于我们电脑上的服务器了,以后写的所有东西,全部放到WWW文件夹中。

在我们的WWW文件夹下面创建两个文件,index.html和handle.php

让我们测试一下,在刚才新建的index.html中随便写点代码。打开浏览器,输入localhost敲击回车,如果能打开刚才写的网页,那么就说明我们搭建成功

如果失败,可能是端口冲突,也有可能是phpstudy木有运行~自己查一查调试一下

2.让我们用PHP写一个简单的后台应用吧~

index.html


    
    
    
 

不知道你们表单学的咋样,所以唠叨两句:GET代表我们要使用的传输方式,对应的还有POST;

input标签当中的id对应的是label标签当中的for属性;

input标签当中的name属性,一会要对接PHP使用;

handle.php


"张三","sex"=>"男","age"=>"20"),
    array("name"=>"李丽","sex"=>"女","age"=>"19"),
    array("name"=>"王二","sex"=>"男","age"=>"21")
    );
$str="没有找到这个学生";
$name=$_GET["name"];
foreach ($student as $value) {
    if($value["name"]==$name){
        $str=$value["name"].",".$value["index"].",".$value["sex"].",".$value["age"];
        break;
    };
};
echo $str;
 ?>

3.换成Ajax的写法!

index.html

html:

请输入姓名:

Javascript:

function submit(){
        
        var name=document.getElementById('name').value
               var text=document.getElementById('text')
        var XHR=new XMLHttpRequest();
               XHR.open("GET","handle.php?name="+name);
               XHRsend();
               XHR.Onreadystatechange=function(){
            text.innerHTML=XHR.responseText
        }

注意:

如果有人把源代码中的 text.innerHTML=XHR.responseText 改成了 alert(XHR.responseTXT),你将会发现,命令将会被执行多次。这个时候,就要稍微的改一下代码了:(原因,在文章后面你会找到)

   ......
    XHR.Onreadystatechange=function(){
             if(XHR.readyState==4){alert(XHR.responseText)};
                                     }
   ......

4.例子已经成功了,那我们就正式进入学习吧~

ajax的优势

在我们的第一个例子当中,是通过submit按钮提交到php后台,然后再进行数据的处理操作。

这种操作呢,有一个弊端,就是需要把一整页的数据同时提交到后台。

举个栗子

如果我们在一个网站进行注册,填写完了昵称,密码,性别,年龄等信息,提交过去之后,后台告诉你昵称已被使用,OK我们将昵称,密码,性别,年龄等,通通重写,等再次提交过去,又告诉你昵称依然已被使用。这时候你起了一个非常非常LOW的名字,心想,这回不会再出问题了吧?结果提交过去之后,后台告诉你,你的密码过短需再次重新填写信息。恩~放弃了吧!

如果使用ajax技术呢?我们可以将数据逐条的提交到后台,也可以随时随地的提交。比如说,你填写完昵称,后台立马告诉你昵称被用,OK,改了就是喽~。

AJAX的使用

1.创建AJAX

  var XHR=new XMLHttpRequest();

2.向服务器发送请求

XHR.open("GET","handle.php",true);
XHR.send();

open里面有三个参数,分别为数据传输方式,传输文件,是否异步

当我们的传输方式为POST的时候,就会用上send(),如果是GET方式,推荐在send里面写上参数null

3.GET vs POST

一句话:get更快,post更强

4.服务器响应 —— 你把值传过去了,咋也得传回来点什么吧?

XHR.responseText;
XHR.responseXML;

5.响应事件——什么时候才能返回数据嘞?

onreadystatechange 事件
两个属性:
readyState
status
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。
XHR.Onreadystatechange=function(){
                console.log(XHR.readyState)
                console.log(XHR.responseText)

以上就是ajax入门教程之30分钟实例演示的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 本文介绍了DataTables插件的官方网站以及其基本特点和使用方法,包括分页处理、数据过滤、数据排序、数据类型检测、列宽度自动适应、CSS定制样式、隐藏列等功能。同时还介绍了其易用性、可扩展性和灵活性,以及国际化和动态创建表格的功能。此外,还提供了参数初始化和延迟加载的示例代码。 ... [详细]
  • 前言:关于跨域CORS1.没有跨域时,ajax默认是带cookie的2.跨域时,两种解决方案:1)服务器端在filter中配置详情:http:blog.csdn.netwzl002 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • asp.net(vb脚本)如何获取xml的节点值?xmlversion1.0encodingutf-8?rootimageimagemenusmenuurl#frame_paren ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • CSS标签、类名和ID选择器的使用区别
    本文讲解了CSS中标签选择器、类名选择器和ID选择器的使用区别,主要包括加空格和不加空格的区别。通过示例代码,说明了加空格表示选择当前节点的后代节点,而不加空格表示一个元素的多个类名不能加空格的规则。 ... [详细]
author-avatar
爱的记忆2502913597
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有