版权声明:本文为博主原创文章,未经博主同意不得转载。 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. Ionic 生成icon图标

    1.直接切换到项目跟目录 运行以下命令 备注:运行第一次ionic rescoures 后自动生成文件夹rescoures ,让后帮你自己的icon.png 文件放进入就ok ,在次运行ionic r ...

  2. Django项目:CRM(客户关系管理系统)--57--47PerfectCRM实现CRM客户报名流程02

    图片另存为  16*16  名字修改为      bpm_logo.jpg /*! *bootstrap.js * * Bootstrap v3.3.7 (http://getbootstrap.co ...

  3. webService cxf学习

    1.首先去官网下载cxf包 http://archive.apache.org/dist/cxf/ 记住要选.zip结尾 大概40兆的样子 2.把上边的包都放项目里.如果你用的jeecg框架,那它自带 ...

  4. IO流17 --- 对象流操作自定义对象 --- 技术搬运工(尚硅谷)

    序列化 @Test public void test14() throws IOException { ObjectOutputStream oos = new ObjectOutputStream( ...

  5. Django-rest Framework(三)

    今天看了drf的五个组件的源码,可读性还是很高的,只是读组件的时候要注意的是 大部分的组件都是由dispatch分发出去的,所以看源码的时候一定要抓住dispatch这条主线,一步一步看下去 一. d ...

  6. Django部署,Django+uWSGI+nginx+Centos部署

    说明:系统是在windows上开发的,使用django1.11.4+python3.6.3开发,需要部署在centos6.4服务器上. 第一步:在Centos6.4上安装Python3.6.2 安装请 ...

  7. qq邮箱html邮件,图片不显示的问题

    测试无论是站外的图片还是站内的图片,qq邮箱都会过滤图片,导致显示不出来. 解决办法:图片base64编码.效果图: 代码: <div class="container"&g ...

  8. springmvc:配置解决中文乱码的过滤器

    在web.xml中配置以下内容: <!--配置解决中文乱码过滤器--> <filter> <filter-name>characterEncodingFilter& ...

  9. poj1961

    poj1961主要是考察对next数组的理解,abaabaabaaba abaabaabaabaabaaba错开的部分便是循环节 7月29日更 如果n%(n-kmp[k])==0,那么n-kmp[k] ...

  10. openCV图像合成

    #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.h ...