版权声明:本文为博主原创文章,未经博主同意不得转载。 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. jeecms 链接标签

    .引入页面 [#include "../include/header-site.html"/]12.导航栏只有前两个带链接 [#if c_index<2] href=&quo ...

  2. VS 快捷键和正则替换

    本文在VS2017中可用 1.注释 :Ctrl  K C 取消注释: Ctrl K U 2.整理代码格式: Ctrl K D 或者 Ctrl K F 3.快速切换不同的代码窗口  Ctrl+Tab 4 ...

  3. java文件配置MySQL

    MybatisConfig.java文件 import com.alibaba.druid.pool.DruidDataSource; import com.xman.common.mybatis.S ...

  4. Django REST Framework概述

    什么是REST REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”.这里说的表征性,就是指资源,通 ...

  5. svn命令获取项目中被忽略文件情况

    第一步.通过终端进入项目目录下第二步.运行命令svn pg svn:ignore -R

  6. spring定时任务scheduler集群环境下指定运行服务器防止多服务器多次执行

    使用spring的@Scheduler注解可以非常方便的启动一个定时任务,但是当服务部署在多台服务器上做负载均衡的时候,可能会出现重复执行的情况. 现在我们通过代码指定job只在某一台机器执行. 首先 ...

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

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

  8. Kotlin 委托(2)变量委托是什么、自定义变量委托

    1.委托是什么? 1.1 官网示例 在每个变量委托的实现的背后,Kotlin 编译器都会生成辅助对象并委托给它. 假设委托如下, class C { var prop: Type by MyDeleg ...

  9. 【python之路39】Python 正则表达式

    Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. r ...

  10. bzoj 1053 [HAOI2007]反素数ant——关于质数的dfs / 打表

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1053 写了个打表程序. #include<iostream> #include& ...