一念起、万水千山皆有情。

一念灭、沧海桑田已无心。

            ------ 随记

本文主要针对ajax原理介绍,很少涉及实例,主要用于对知识的梳理总结,方便以后学习和查询。。。

Ajax

一、Ajax是什么?

AJAX = 异步 JavaScript 和 XML。

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

并不是一种新技术,而是已有技术的集合。JavaScript是核心载体。

二、如何使用ajax原生方式发送请求?

主要通过XMLHttpRequest(标准浏览器)、ActiveXObject("Microsoft.XMLHTTP")(IE浏览器)

var xhr;
if (window.XMLHttpRequest)
{// 处理兼容 IE7+, Firefox, Chrome, Opera, Safari
  xhr=new XMLHttpRequest();
}
else
{// code for IE6, IE5
  xhr=new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange=function(){
  if(xhr.readyState==4){
      alert(xhr.responseText)//
    }
  }
//get方式发送请求
 xhr.open("get","check.php?n="+name);
 xhr.send(null)
//post放送请求,需要设置

post和get两种方式的整体思路一致,只是细节上有所差别

// 调用open方法准备ajax请求
xhr.open('post',"check.php")
// 构造要发送到后端程序的参数字符串
var str="name"+name;
// 将传递到后台的数据转换格式
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
// 调用send方法发送请求
xhr.send(str)

三、ajax的优缺点

ajax的优点:

  1、最大的一点是页面无刷新,用户的体验非常好。
  2、使用异步方式与服务器通信,具有更加迅速的响应能力。。
  3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
  4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
  5、ajax可使因特网应用程序更小、更快,更友好。

 ajax的缺点:

  1、ajax不支持浏览器back按钮。
  2、安全问题 AJAX暴露了与服务器交互的细节。
  3、对搜索引擎的支持比较弱。
  4、破坏了程序的异常机制。
  5、不容易调试

四、解释jsonp原理,以及为什么不是真正的ajax?

未完待续。。。。。。。。。。。。。。。。。。。。。

Ajax自我总结的更多相关文章

  1. jquery下php与ajax的互传数据(json格式)自我总结

    研究了一整天的json数据与ajax的数据传输,现在进行一个小的自我总结,仅供参考 1.关于ajax的认识 $.ajax(),是jquery下包装好的一个函数:参考地址:http://www.w3sc ...

  2. Ajax 加载数据 练习 自我有些迷糊了,写的大概请谅解 ^ _ ^

    查询表的显示,查询显示如果不嵌入PHP代码的话,用ajax怎么实现?   <h1>显示数据</h1> <table width="100%" bord ...

  3. 基于jquery,ajax请求及自我终止的函数封装。

    场景描述: 在我们平时的开发过程中,经常会遇到这样的情况.在搜索功能中进行模糊搜索或者联想关联. 这就要我们每次对输入框中的数据进行改动时,都要发送一次请求.当在短时间内多次操作改动时,问题就出现了. ...

  4. 原生AJAX入门讲解(含实例)

    相对于jQuery.YUI以及其他一些类库的AJAX封装,原生JS的AJAX显得那么的尴尬,兼容性不好,要记很多的方法属性,调用不便捷,代码臃肿...但我还是想说,原生JS才是最根本最底层的知识(虽然 ...

  5. 自我总结(六)---(学习j2ee+j2ee第一阶段项目)

    自我完善的过程就是在不断的自我总结不断的改进. 学习了Struts2 Spring Hibernate. 十天前结束了这个课程.也考试了.这次考试老师说机试考的还不错.其实就是一个简单的用户登录,进行 ...

  6. jquery ajax jsonp跨域调用实例代码

    今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Lan ...

  7. 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  8. ajax的来龙去脉

    这是我在博客园写的第一遍博客,之前都是只看不写,在园子里学到了不少的东西,现在也想着把自己的一些感悟写出来给大家分享一下. ajax技术可以说是Web2.0应用程序的技术基础,尽管软件经销商和开源社区 ...

  9. WCF+AJAX最佳实践

    本文是基于Frank Xu的一个webcast上的串并总结,图片等都截至视频,谨致谢. 路线图 什么是WCF Windows Communication Foundation是MS为构建面向服务的应用 ...

随机推荐

  1. 【SQL基础】char,nchar,vchar,nvchar之间的区别

    (1)       定义: char:    固定长度,存储ANSI字符,不足的补英文半角空格. nchar:   固定长度,存储Unicode字符,不足的补英文半角空格 varchar:  可变长度 ...

  2. 节点操作--JavaScript

    1 - 概念 网页中的所有内容都是节点(标签.属性.文本.注释),在DOM中,节点使用node来表示. HTML DOM树中的所有节点均可通过JS进行访问,所有HTML元素(节点)均可被修改,也可以创 ...

  3. 初级Python

    [toc] 一.数据类型 1.1基本数据类型 1.1.1数字类型 1.整数类型 十进制:1010,-219 二进制:以0b或0B开头:0b010,-0B101 八进制,以0o或0O开头:0o123,- ...

  4. [PHP] php, apache, VS Code安装与配置

    1. 下载

  5. [Python] Python 学习记录(1)

    1.概论 弱类型 一个变量能被赋值时能与原类型不同 x = 1 x = "1"  #不加分号,给x赋值为int后再次赋值为string是可行的 与或非 and or not /  ...

  6. PHP 通过 ReflectionMethod 反射类方法获取注释返回 false 的问题解决

    php 通过反射 ReflectionMethod 类来获取类方法的相关信息,其中就包含方法的注释内容. 问题描述 在公司测试环境运行以下代码,如果是 cli 命令行模式运行,正常输出代码注释.如果是 ...

  7. robotframework框架 - seleniumLibrary 关键字解读-全攻略

    在robotframework当中,要实现web自动化,则需要使用SeleniumLibrary这个库. 目前版本中,有180+关键字.随着版本的更新,关键字的个数和名字也会有所变动. 在网上没有找到 ...

  8. 扛住阿里双十一高并发流量,Sentinel是怎么做到的?

    Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景 本文介绍阿里开源限流熔断方案Sentinel功能.原理.架构.快速入门以及相关框架比较 基本介绍 1 名词解释 服务限流 :当系 ...

  9. jsp隐含对象(内置对象)

    JSP共有以下9个内置的对象: request HttpServletRequest类的实例,用户端请求,此请求会包含来自GET/POST请求的参数 response HttpServletRespo ...

  10. java不支持多继承

    java不支持多继承,但支持多重继承,即一个类只能继承一个类,使用extends关键字 一个类可以实现多个接口,接口之间用逗号分隔,使用implements关键字 一个接口可以继承多个其他接口,接口之 ...