• ajax的实现原理

  1. ajax的定义是 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。它可以在不刷新页面的情况下提交请求与服务器进行交互动作。
  2. ajax的主要对象就是通过XmlHttpRequest这个对象与服务器进行异步请求。随后通过获得的数据进行相应的操作,例如:通过javascript修改页面数据、样式。
  3. XmlHttpRequest有多个属性,了解这些属性才能知道原理。
    1. onreadystatechange  每次状态改变所触发事件的事件处理程序。
    2. responseText     从服务器进程返回数据的字符串形式。

    3. responseXML    从服务器进程返回的DOM兼容的文档数据对象。

    4. status           从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)

    5. status Text       伴随状态码的字符串信息

    6. readyState       对象状态值

  •  例子如下所示

    //1.创建ajax引擎对象
    var xmlHttp = new XMLHttpRequest();
    //2.绑定监听----监听服务器返回的数据
    xmlHttp.onreadystatechange = function(){
    if(xmlHttp.readyState==4&xmlHttp.status==200){ //确定引擎对象的两个参数的值为正常
    var res_str = xmlHttp.responseText; //5.接收数据,设定返回的是字符串类型
    /*具体的操作*/
    }
    }
    //3.绑定发送地址及相关方法
    xmlHttp.open("GET","/WEB20/ajax",true); //true为是否异步
    //4.发送到服务器端
    xmlHttp.send(); //jquery封装的ajax
    其中ajax较为常用的有3种,分别是
    jQuery.post(url, [data], [callback], [type]);
    //示例
    $.post(
         "web22/ajax",          //地址绝对不能缺少
         {"name":"lisi"},        //发送给服务器的数据,键值对格式
         function(data){
              //operation--data
              data为服务器返回的数据
         },
         "json"         //规定返回的数据按照json格式解析
    );
     
    示例
    $.ajax({
                url:"/WEB22/ajaxServlet2",       //地址,ajax用于跨域请求时,需要用到jsonp技术
                async:true,          //是否异步
                type:"POST",          //提交方式
                data:{"name":"lucy","age":18},     //发送的数据
                success:function(data){          //成功响应时用的方法
                    alert(data.name);
                },
                error:function(){             //请求失败所用的方法
                    alert("请求失败");
                },
                dataType:"json"          //返回的数据解析的格式
            });
     

ajax入门简介的更多相关文章

  1. 掌握 Ajax,第 1 部分: Ajax 入门简介

    转:http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html 掌握 Ajax,第 1 部分: Ajax 入门简介 理解 Ajax 及其工作 ...

  2. JavaEE的ajax入门

    JavaEE的ajax入门 代码下载 链接:https://pan.baidu.com/s/1pb_sdSmV9Ncs6UIz3q2ztg 提取码:fgx6 复制这段内容后打开百度网盘手机App,操作 ...

  3. AJAX(一)AJAX的简介和基础

    本节简介(异步链接服务器对象)XMLHTTPRequest以及AJAX的简介. AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML). AJ ...

  4. MongoDB入门简介

    MongoDB入门简介 http://blog.csdn.net/lolinzhang/article/details/4353699 有关于MongoDB的资料现在较少,且大多为英文网站,以上内容大 ...

  5. (转)Web Service入门简介(一个简单的WebService示例)

    Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...

  6. jQuery的AJAX方法简介及与其他文件$符号冲突的解决办法

    一.重要的jQuery AJAX方法简介 $.load(url) 从服务器载入数据 $.get(url,callback) 从服务器请求数据,并执行回调函数 $.post(url,data,callb ...

  7. AJAX入门---DOM操作HTML

    AJAX入门---DOM操作HTML 一边学习AJAX一边坐着总结加深印象.上次写的是怎样简单的使用XMLHttpRequest对象.今天写的是DOM(文档对象模型(Document Object M ...

  8. ajax入门之建立XHR对象 (1)

    ajax入门之建立XHR对象 今天帮朋友写了一个简单的ajax的demo,发现了一些东西,决定写一篇文章记录一下,避免以后挖坑. 创建XMLHttpRequest 通常 function create ...

  9. NodeJS入门简介

    NodeJS入门简介 二.模块 在Node.js中,以模块为单位划分所有功能,并且提供了一个完整的模块加载机制,这时的我们可以将应用程序划分为各个不同的部分. const http = require ...

随机推荐

  1. C实现Linux之touch命令

    Linux 的 touch 命令用来修改文件时间戳,或者新建一个不存在的文件,使用方式如下: touch [-acm][-r ref_file(参照文件)|-t time(时间值)] file(文件名 ...

  2. nuxt或者vue,axios中如何发送多个请求

    在使用vue或者nuxt中,我们需要使用axios去发送多个http请求,参考了axios的官方说明你也许会想到使用axios.all发送请求,但是这样可能会出现一些异常错误: (node:9360) ...

  3. SpringMVC 字节流实现播放多媒体

    1.前言 在项目中,我们会遇到在线预览,播放MP3.图片.MP4等.用户上传文件后,将路径存储在数据库中,我们可动态读取数据库的数据,然后通过返回文件路径的字符串,在src中发送请求.当然这需要带参数 ...

  4. spring boot2X整合Consul一使用RestTemplate实现服务调用

    Consul可以用于实现分布式系统的服务发现与配置 服务调用有两种方式: A.使用RestTemplate 进行服务调用 负载均衡——通过Ribbon注解RestTemplate B.使用Feign ...

  5. html5 audio标签微信部分苹果手机不能自动播放音乐终极解决方案

    html5 audio标签微信部分苹果手机不能自动播放音乐终极解决方案 大家都知道需要在点击时候后 播放 ps:如果点击ajax 回来播放也不行,必须点击立即播放 要背景自动播放只能采取下面方案< ...

  6. CLH lock 原理及JAVA实现

    --喜欢记得关注我哟[shoshana]--​ 前记 JUC中的Lock中最核心的类AQS,其中AQS使用到了CLH队列的变种,故来研究一下CLH队列的原理及JAVA实现 一. CLH背景知识 SMP ...

  7. AngularJS 的全选、反选实现

    目录 AngularJS 的全选.反选实现 一.需求 二.思路 三.实现 AngularJS 的全选.反选实现 一.需求 要使用 AngularJS 实现 checkbox 的全选.反选. 其中所有项 ...

  8. Linux crond任务调度(定时任务),Linux磁盘分区/挂载

    一.crond任务调度 1.基本语法 crontab [选项] -e : 编辑 crontab定时任务 -l : 查询crontab -r : 删除当前用户所有的crontab任务 例子: 每分钟执行 ...

  9. 大一0基础小白用最基础C写哥德巴赫猜想

    #include <stdio.h>int main (){ int a,b,c,k,count1,count2; for(a=4;a<=1200;a=a+2){ for(b=2;b ...

  10. 【SCALA】2、驼峰,下划线互转

    1.刚开始写scala,发现确实还是很不熟悉,api以及语法的使用都不是很简洁,这写出来跟java也没差多少... 献丑了 package spark /** * @ProjectName: cutt ...