1.什么是Ajax?

Ajax(Asynchronous JavaScript and XML),简单说就是不需要刷新当前页面而实现javaScript和和后台服务器交换数据以更新网页中的部分内容。

2. 实现

  第一步: 创建   XMLHttpRequest 对象,老版的IE浏览器用 ActiveXObject 对象

var request;
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari
request = new XMLHttpRequest();
}else{// code for IE6, IE5
request = new ActiveXObject("Microsoft.XMLHTTP");
}

  第二步:准备相关数据 , 调用 request.open();方法,

request.open(method,url);// method是请求方式:GET/POST,url是请求目标

  第三步:调用request.send();方法

request.send(data);// data是通过此请求要发送的数据

  第四步:为request对象的属性onreadystatechange添加响应函数,此函数由系统触发,然后根据响应状态做出相应的处理

request.onreadystatechange = function(){
// 判断响应是否完成
if(request.readyState == 4){
// 判断响应结果是否正常
if(request.status == 200 || request.status == 304){
/**
request.responseText 或 request.responseXML 返回的数据,在这里做相应的处理
*/
}
}
}

  至此一次Ajax通信完成!

    说明:响应的返回的数据格式有三种:

    html 格式,不需解析,可以直接镶嵌到页面中——不太方便;

    XML 格式, 通用数据格式,占用的空间较大,解析相对困难;

    JSON 格式,占用空间较小,有面向对象的特点,且有第三方  jar 包可以将java对象或集合包装成JSON字符串。

3. 用JQuery实现Ajax操作

  对于  html  或  text  格式的数据,可直接使用 $( selector).load();方法;

$(selector).load(url,args)  // url 为请求的目标位置,默认的请求方式的GET,但args若作为第二参数时自动转换为POST方式,注意,args必须是JSON格式

  这样返回的  responseText 会直接加载成  selector 对应节点的子元素。

  对于XML格式和JSON格式则有 $.get(url,[args],[callback],[type]) 或 $.post(url,[args],[callback],[type]) 方法,args是要发送的数据,callback为回调函数,接受的数据在回调函数的参数 data 中,type是指以相应的数据格式接受数据;

// 这是用get方法接收XML格式的数据
$("a").click(function(){ // 为 a 标签添加 click 函数
var url = this.href;
$.get(url,function(data){ // data的内容就是下面XML文档的内容
var name = $(data).find("name").text();
var website = $(data).find("website").text();
var email = $(data).find("email").text();
$("#content").empty().append("<h2><a href='mailto:"+email+"'>"+name+"</a></h2>")
.append("<a href='"+website+"'>"+website+"</a>"); // 将数据加在 id 为 content 的节点下面
});
return false; // 取消 a 标签的默认操作
});
<?xml version="1.0" encoding="UTF-8"?>
<details>
<name>Andy Budd</name>
<website>http://andybudd.com</website>
<email>andy@clearleft.com</email>
</details>

  若是JSON数据,则可以用eval() 处理一下data,或者在get方法中加入 "JSON" 作为 type 参数,或直接调用$.getJSON() 方法,则得到的 data 就是一个JSON 对象。

$.get(url,args,function(data){
// data 是JSON对象
},"JSON");
$.post(url,args,function(data){
// data 是JSON对象
},"JSON");
$.getJSON(url,args,function(data){
// data 是JSON对象
});

然后根据页面的需要将数据更新到页面即可!

Ajax的简单介绍与使用的更多相关文章

  1. ajax的简单介绍

    响应主体,就是服务器给我们返回的结果内容(浏览器里的responsive) 请求主体,是我们给服务器的数据 输入域名发起一次请求,得到的可能是标签,标签可能还要在发一次请求 post怎么发请求:for ...

  2. AJAX简单介绍

     什么是AJAX Ajax 是 AsynchronousJavaScript and XML(以及 DHTML 等)的缩写. HTML 用于建立 Web表单并确定应用程序其它部分使用的字段. ·J ...

  3. Android项目开发全程(二)--Afinal用法简单介绍

    本篇博文接上篇的<Android项目开发全程(一)--创建工程>,主要介绍一下在本项目中用到的一个很重要的框架-Afinal,由于本系列博文重点是项目开发全程,所以在这里就先介绍一下本项目 ...

  4. JMS学习篇《一》ActiveMQ消息中间件的简单介绍与用法-概念篇

    原创说明:本篇博文为本人原创作品,转载请注明出处 1.何为消息中间件 消息中间件是一种在分布式应用中互相交换信息的一种技术,常见的成熟消息中间件有:RabbitMQ.SonicMQ,activeMQ. ...

  5. Eclipse rap 富客户端开发总结(1) :rap简单介绍和开发环境搭建

    一.rap简单介绍 1 基本概念     RAP可以让开发人员使用JAVA API和按照Eclipse 插件的开发模式构建基于AJAX的Web 2.0应用程序, RAP的工作原理是采用交叉编译的方式将 ...

  6. jQuery系列 第一章 jQuery框架简单介绍

    第一章 jQuery框架简单介绍 1.1 jQuery简介 jQuery是一款优秀的javaScript库(框架),该框架凭借简洁的语法和跨平台的兼容性,极大的简化了开发人员对HTML文档,DOM,事 ...

  7. 【转】深入浅出JMS(二)--ActiveMQ简单介绍以及安装

    现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的. 这篇博文介绍一款开源的JMS具体实现——ActiveMQ.ActiveMQ ...

  8. Asp.net博客系统收集和简单介绍

    国内Asp.net博客系统收集和简单介绍       [转载文章,仅供个人参考,引自http://www.soyaoo.com/Blog/post/92.html] 1.ZJ-Blog程序简介:基于A ...

  9. React 简单介绍

    React 简单介绍 作者 RK_CODER 关注 2014.12.10 17:37* 字数 2516 阅读 55715评论 6喜欢 70 why React? React是Facebook开发的一款 ...

随机推荐

  1. sparklyr-R语言访问Spark的另外一种方法

    Connect to Spark from R. The sparklyr package provides a complete dplyr backend. Filter and aggregat ...

  2. MySql(六)单表查询

    十.单表查询 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT 限制 ...

  3. nginx反向代理配置相对路径

    需求: 在公司内部搭建了一个php的网站,想用花生壳映射到外网. 一.反向代理解决直接映射不成功问题 直接用把花生壳的"域名+端口"指向此php网站并竟然不生效.但是不加网站名可以 ...

  4. OWASP TOP 10 2017中文译文

    说明:owasp top 10其实有中文官方版本:本文是按着英文版进行翻译而成. 官方中文版:http://www.owasp.org.cn/owasp-project/OWASPTop102017v ...

  5. asp.net mvc如何获取url的相关信息

    1.获取完整url信息(协议名+域名+虚拟目录名+文件名+参数) string url = Request.Url.ToString(); 如: //1)获取完整url(协议名+域名+虚拟目录名+文件 ...

  6. spring boot 打包可以运行,但是执行main方法不能运行

    报错信息如下 2017-10-23 15:16:09.750 ERROR 7664 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReport ...

  7. Java反射《二》获取构造器

    package com.study.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Invocation ...

  8. OO第四次课程总结分析

    OO第四次课程总结分析 测试与正确性论证的效果差异及优缺点 测试,即使用测试样例来验证我们的程序是否能完成相应功能的过程.测试数据的产生基于前置条件和后置条件,通过执行测试数据检查方法输出是否满足需求 ...

  9. flask-admin有用的例子

    flask-admin主页: https://github.com/flask-admin/flask-admin flask-admin克隆地址: https://github.com/flask- ...

  10. Top k问题的讨论(三种方法的java实现及适用范围)

    在很多的笔试和面试中,喜欢考察Top K.下面从自身的经验给出三种实现方式及实用范围. 合并法 这种方法适用于几个数组有序的情况,来求Top k.时间复杂度为O(k*m).(m:为数组的个数).具体实 ...