什么是Ajax与Ajax原生的实现方式

一、什么是Ajax?

  Aiax:异步的Javascript和XML。

作用:用于完成局部刷新

XML是用于数据传输,现在开始被JSON所替代。

1.1、交互方式问题

  传统的交互方式每次都必须返回整个页面,宽带,响应速度都有影响的,

  Ajax的交互方式是从

客户端(浏览器)从服务器加载网页完毕后,网页中的内容如果需要更改,不使用浏览器发送请求,而是使用JavaScript中的XMLHttpRequest(及Ajax对象)对象发送请求到服务器,服务器接收请求并处理完毕后只返回页面需要的内容,XMLHttpRequest对象接收服务器返回的内容,程序员需要手动(javascript)的把内容更新到页面中,所有Ajax交互的好处是只是部分数据的更新,就成功和服务器进行了交互,提高用户的体验。

1.2、使用场景

  需要刷新的页面,如(浏览器地图搜素、自动提示、用户重复检查、购物车、用户登录等.....)都需要用到Ajax交互。

1.3、Ajax的特点

  通过Ajax与服务器进行数据交换,Ajax可以使网页实现局部更新,意味着可以在不重新加载整个页面的情况下,对网页的某个部分进行更新 

1.4、Ajax核心

  Ajax的核心是JavaScript对象XMLHttpRequest。简单的说 XMLHttpRequest可以让你使用JavaScript向服务器进行请求并处理响应。

1.5、同步与异步的区别

  同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事

  异步: 请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情)->处理完毕

同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。

异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式

二、Ajax原生的实现方式

  xhr = new XMLHttpRequest() : 通过new它可以创建一个ajax对象【兼容IE需要创建ActiveXObject】

2.1、方法(函数)
  xhr.open(methodType,methodUrl,isSys) -> 准备请求的方式与路径
  methodType:请求的方式(GET/POST)
  methodUrl:请求的路径
  isSys:是否异步(默认为true)
  xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  设置请求头的一个类型,如果是POST请求,一定要加这一句,才可以把数据传到后台
  位置:open之后,send之前
  xhr.send(varBody) -> 发送请求
  varBody:POST请求传参(key=value&key=value&...)
2.2、 属性
xhr.status -> 请求状态(200代表成功)
xhr.readyState -> 响应状态(4代表响应完成)
xhr.responseText -> 获取返回的数据(字符串)
2.3、事件
xhr.onreadystatechange =function(){} -> 监听readyState状态的变化

三、注意点

  使用Ajax请求,后台不进行跳转,只做数据的传输

返回的值都是字符串,需要自己做相当的判断与转换

四、JSON:JS的对象 对象/字符串

json传输数据比XML更加方便,简单,精简
var jsonStr = {}/[];
如果把一个json字符串转成json对象呢?
eval("("+jsonStr+")") -> 前后加括号
JSON.parse(jsonStr) -> 必需是标准的json(key必需有双引号)

原文地址:https://www.cnblogs.com/xq-943746/p/10981429.html

时间: 2025-01-02 11:16:57

什么是Ajax与Ajax原生的实现方式的相关文章

【整理】Ajax异步实现的几种方式总结

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.GET 还是 POST?与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用.然而,在以下情况中,请使用 POST 请求: 无法使用缓存文件(更新服务器上的文件或数据库) 向服务器发送大量数据(POST 没有数据量限制) 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠 异步

前端 - js方式Ajax/ jquery方式Ajax / 伪 ajax /伪ajax 进阶方式

DJANGO环境搭建: 目录文件: 关闭CSRF 添加目录文件路径 配置url 视图配置: index页面配置: 测试:(成功) 进入正题: ajax 通过GET提交数据至后台: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body>

ajax的get与post提交方式

Get方式的用户名验证 1.编写html代码 <form> 用户名[GET]:<input id="usernameID" type="text" name="username" maxlength="4"/> 光标移出后,立即检查结果 </form> <hr/> <span id="resID"></span> 2.编写ajax.js

jQuery Ajax 实例 ($.ajax、$.post、$.get)

Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. 推荐一篇不错的jQuery Ajax 实例文章,忘记了可以去看看,地址为:http://www.cnblogs.com/yeer/archive/2009/07/23/1529460.html 和 http://www.w3school.com.cn/jquery/ $.post.$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一.$

jQuery中ajax的4种常用请求方式

jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息.详细参数选项见下. 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml"). 实例: 保存数据到服务器,成功时显示信息. $.ajax({ type: "post", dataType: "

jQuery Ajax 实例 ($.ajax、$.post、$.get)转

Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. 推荐一篇不错的jQuery Ajax 实例文章,忘记了可以去看看,地址为:http://www.cnblogs.com/yeer/archive/2009/07/23/1529460.html 和 http://www.w3school.com.cn/jquery/ $.post.$.get是一些简单的方法,如果要处理复杂的逻辑,还是需要用到jQuery.ajax() 一.$

[IBM]掌握Ajax,Ajax中的高级请求和响应

掌握 Ajax, Ajax 中的高级请求和响应 http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro1.html http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/ http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro3/ dynaTrace Ajax:前端性能分析利器 http://www.ibm.com/developerwo

atitit.ajax bp dwr 3.的注解方式配置使用流程总结 VO9o.....

atitit.ajax bp dwr 3.的注解方式配置使用流程总结 VO9o..... 1. 安装配置 1 1.1. 下载  dwr.jar 1M 1 1.2. 配置注解方式..web.xml 1 2. 查询页面 2 2.1. Class 配置SVS 2 2.2. 实体class配置@DataTransferObject  ,只使用这个走ok兰.. 3 2.3. 测试查看公布的方法 3 2.4. 导入到page页面 3 2.5. 使用在js黑头 4 3. 异常处理,使用java异常.. 4 4

JFreeChart与AJAX+JSON+ECharts两种处理方式生成热词统计可视化图表

本篇的思想:对HDFS获取的数据进行两种不同的可视化图表处理方式.第一种JFreeChar可视化处理生成图片文件查看.第二种AJAX+JSON+ECharts实现可视化图表,并呈现于浏览器上.   对此,给出代码示例,通过网络爬虫技术,将上传到HDFS的新浪网新闻信息实现热词统计功能,通过图表的柱状图来显示出来. ------> 目录: 1.JFreeChart可视化处理(生成本地图片) [1]HDFS文件读取 [2]JDFreeChart库应用 2.AJAX+JSON+EChart生成可视化图