• 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. ZROI 暑期高端峰会 A班 Day6 DP

    [THUPC2018]城市地铁规划 (日常讲题之前 YY--) 一眼出 \(O(n^3+nk)\) 做法. \(dp[i][j]\) 表示前 \(i\) 个点,前 \(i\) 个点度数和为 \(j\) ...

  2. Maven 基本概念——根目录、项目创建、坐标

     1. MavenProjectRoot(项目根目录)   |----src   |     |----main   |     |         |----java ——存放项目的.java文件  ...

  3. [转]Jumpserve跳板机的生产环境应用

    Jumpserver是国内一款开源的轻便的跳板机系统,他们的官网:http://www.jumpserver.org/ 使用这款软件意在提高公司内部登录生产环境服务器的便捷性,权限分配细化,以及后台管 ...

  4. valgrind memcheck使用方法及效果(转)

    https://windmissing.github.io/linux/2016-02/valgrind-memcheck.html 一.valgrind 1. Valgrind是什么 Valgrin ...

  5. 认识随机函数rand()和srand(unsigned int )

    rand函数 int rand( void ); 函数名:   rand 功   能:   随机数发生器 用   法:   int rand(void); 所在头文件: stdlib.h 函数说明 : ...

  6. 《Linux就该这么学》培训笔记_ch03_管道符、重定向与环境变量

    <Linux就该这么学>培训笔记_ch03_管道符.重定向与环境变量 文章最后会post上书本的笔记照片. 文章主要内容: 输入输出重定向 管道命令符 命令行的通配符 常用的转义字符 重要 ...

  7. QuantLib 金融计算——收益率曲线之构建曲线(5)

    目录 QuantLib 金融计算--收益率曲线之构建曲线(5) 概述 Nelson-Siegel 模型家族的成员 Nelson-Siegel 模型 Svensson 模型 修正 Svensson 模型 ...

  8. StringTable

    首先看这样一个面试题 // StringTable [ "a", "b" ,"ab" ] hashtable 结构,不能扩容 public ...

  9. 给定一个数组,求如果排序后,相邻两个元素的最大差值,要求时间复杂度为O(N)

    第一种方法: 计数排序后,然后找出两两之间的最大差值 计数排序的时间复杂度是O(N) public class CountSort { public static void main(String[] ...

  10. ubuntu 18 docker 搭建Prometheus+Grafana

    Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采用Prometheus,社会也 ...