版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/liu_yujie2011com/article/details/29812777

        几个问题引发的思考:什么是Ajax?它是干什么的?在什么时候用?同步和异步又是什么?这一连串的问题让我问的我真是彻底伤心啦!

按说前几集视频看完后,这几个问题就该攻克了,可是自己却还是不懂。

可见自己的学习方法真的有问题,有问题就要改嘛,如今就来解决下Ajax几个简单的问题。

什么是Ajax?       

       
AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScriptAnd XML)。

Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特之处。合在一起就成了一个功能强大的新技术。

该技术主要包含:

基web标准(standards-based presentation)XHTML+CSS的表示。

使用 DOM(Document Object Model)进行动态显示及交互。

使用 XML 和 XSLT 进行数据交换及相关操作;

使用 XMLHttpRequest 进行异步数据查询、检索。

使用 JavaScript 将全部的东西绑定在一起。

工作原理是什么?

           
Ajax的核心是JavaScript对象XmlHttpRequest。该对象在InternetExplorer5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您能够使用JavaScript向server提出请求并处理响应,而不堵塞用户。

与传统开发方式对照

       
传统的web应用同意用户填写表单(form),当提交表单时就向webserver发送一个请求。

server接收并处理传来的表单,然后返回一个新的网页。即:发送——等待——返回。在这个过程中不进行不论什么工作。纯属等待。

这个做法浪费了很多带宽,因为在前后两个页面中的大部分HTML代码往往是同样的。

因为每次应用的交互都须要向server发送请求。应用的响应时间就依赖于server的响应时间。这导致了用户界面的响应比本地应用慢得多。

   

       
与此不同,AJAX应用能够仅向server发送并取回必需的数据,它使用SOAP或其他一些基于XML的webservice接口,并在client採用JavaScript处理来自server的响应。即:发送——发送——发送。等待的工作没了。将其交给Ajax来完毕。这样在server和浏览器之间交换的数据大量降低(界面要什么就更新什么,而不是更新整个页面内容),结果我们就能看到响应更快的应用。同一时候非常多的处理工作能够在发出请求的client机器上完毕,所以Webserver的处理时间也降低了。

             

Ajax的优缺点是什么?

长处:

1. 通过异步模式,提升了用户体验

2. 优化了浏览器和server之间的传输,降低不必要的数据往返,降低了带宽占用

3.Ajax引擎在client执行,承担了一部分本来由server承担的工作,从而降低了大用户量下的server负载。

缺点:

1.可能破坏浏览器后退button的正常行为。

2.使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中。

3.Ajax的无刷新重载,因为页面的变化没有刷新重载那么明显,所以easy给用户带来困扰――用户不太清楚如今的数据是新的还是已经更新过的。

4.网络延迟——即用户发出请求到server发出响应之间的间隔——须要谨慎考虑。

       
当然这些问题的出现,就会有解决这个问题的方法,在这里不去一一说明了,在今后遇到相关的问题再查资料解决。

    通过这篇博客让我学习到今后在学习新知识的时候。一定要养成良好的习惯,先将基础知识有个总体的把控然后再看视频,不能仅仅依赖视频的学习。要知道看视频仅仅是一个開始。大量的知识还须要我们上网查资料。加油吧少年。

Ajax之基础的更多相关文章

  1. ajax技术基础详解

    一.概述 1.什么是ajax 可以与服务器进行[异步]交互的技术,浏览器无需刷新 2.什么时候出现ajax? -- XMLHttp 微软 1999年微软公司发布IE5版本,内嵌了ajax技术 什么时候 ...

  2. Ajax编程基础

    目录 Ajax编程基础 传统网站中存在的问题 Ajax概述 Ajax的应用场景 Ajax的运行环境 Ajax运行原理及实现 Ajax运行原理 Ajax的实现步骤 1.创建Ajax对象 2.告诉Ajax ...

  3. Ajax 学习 - 基础学习

    <AJax - Async Javascript and xml - 异步的JavaScript和XML> 一.基础认识 AJax技术的目的:实现页面无刷新数据动态更改 优点:  + 不需 ...

  4. Ajax之基础总结

    一.Ajax 简介 Ajax 由 HTML.JavaScript技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序.在详细探讨 Ajax 是 ...

  5. Ajax——异步基础知识(一)

    基础概念 1.异步请求可以做到偷偷向服务器发送请求,而页面却不刷新 2.get异步请求传递参数是通过url追加键值对的方式 3.post异步请求比较特殊,需要设置请求的类型 User-Agent:浏览 ...

  6. Ajax全面基础学习(二)

    两种配置ajax的方式 $.ajax('url',{ 配置ajax}); $.ajax({ url : 'url' 其他ajax配置}) ajax的回调函数 $.ajax('url',{ //请求成功 ...

  7. Ajax全面基础学习(一)

    快捷方法: $.get(url,[data],[callback],[type])get方法的[data]将被链在url后面[callback]是请求成功后的回调,可以得到响应数据,如果请求失败,看不 ...

  8. 《所用到的AJAX技术基础》

    来自百度网页,w3cshool网页:AJAX = Asychronous JavaScript and XML,翻译成中文为:异步的JavaScript XML. 异步的意思就是不重新加载整个页面,后 ...

  9. ajax传输 基础一

    一个简单页面的传输 index.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

随机推荐

  1. netbeans 8.2 系统找不到指定的文件。

    系统找不到指定的文件.Using CATALINA_BASE: "C:\Users\wishr\AppData\Roaming\NetBeans\8.2\apache-tomcat-8.0. ...

  2. Jmeter分布式测试过程中遇到的问题及摘抄前辈问题汇总

    遇到的常见问题: 1.在Controller端上控制某台机器Run,提示"Bad call to remote host". 解决方法:检查被控制机器上的jmeter-server ...

  3. 在vue项目中正确的引入jquery

    最近学习vue,习惯性的通过<script>标签引入jquery,写完后报错才想起来,这种方式在vue是不适用的. 1:因为已经安装了vue脚手架,所以需要在webpack中全局引入jqu ...

  4. 读书笔记--Head First JQuery目录

    1.JQuery入门 2.选择器与方法 3.JQuery事件与函数 4.JQuery Web页面管理 5.JQuery效果与动画 6.JQuery与JavaScript 7.定制函数停工定制效果 8. ...

  5. 使用springMvc对象属性自动封装从jsp向controller传值

    controller通过ModelAndView向前台传传递信息 jsp也可以通过model向controller传递信息 这只是其中的一个办法,还有其他几种方式进行前后端的数据交互 如何才能让spr ...

  6. 简单的layui二级联动

    用layui实现省市二级联动, 需要注意的是使用layui之后, 你看到的下拉选框就不是option了,而是一些div 1.select表单 2.JS, ajax返回的是普通的数组

  7. 关于Ajax提交后无法刷新iframe页面的问题

    原因及解决方法: 要把刷新代码写进ajax的代码块里面,而不是放在后面

  8. java简单jdbc查询操作

    所采用的mysql的数据库驱动版本:5.0.8 mysql-connector-java-5.0.8-bin.jar 程序结构图: 表结构: 创表sql: Create Table CREATE TA ...

  9. BZOJ1455罗马游戏

    左偏树裸题. 题面描述让人意识到了平面几何的重要性. //Achen #include<algorithm> #include<iostream> #include<cs ...

  10. 如何让div处于body居中的状态

    <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8&qu ...