• 什么是ajax

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。

Ajax包含下列技术:
基于web标准(standards-basedpresentation)XHTML+CSS的表示;
使用 DOM(Document ObjectModel)进行动态显示及交互;
使用 XML 和 XSLT 进行数据交换及相关操作;
使用 XMLHttpRequest 进行异步数据查询、检索;
使用 JavaScript 将所有的东西绑定在一起。

  • 为什么使用ajax

Ajax应用程序的优点:
1. 通过异步模式,提升了用户体验
2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

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

  • AJAX最大的特点

Ajax可以实现动态不刷新(局部刷新)
就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

  • 什么是XMLhttprequest对象

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新。

  • XMLHttpRequest对象的常用方法和属性

open(“method”,”URL”) 建立对服务器的调用,

第一个参数是HTTP请求    方式可以为GET,POST或任何服务器所支持的您想调用的方式。
 第二个参数是请求页面的URL。
    send()方法,发送具体请求
    abort()方法,停止当前请求
    readyState属性   请求的状态 有5个可取值0=未初始化 ,1=正在加载
    2=以加载,3=交互中,4=完成
    responseText 属性  服务器的响应,表示为一个串
    reponseXML 属性 服务器的响应,表示为XML
    status   服务器的HTTP状态码,200对应ok  400对应not found

示例:

<script type="text/javascript">
//实例化内建对象
var xhr = new XMLHttpRequest()
//发起一个请求
xhr.open('get','index.php');
//请求头 get请求可以省略
xhr.setRequestHeader('get','index.php');
//post情况下这步需要这样写
/*xhr.setRequestHeader('Content-type','application/x-www=form-urlencoded');*/
//请求主体
xhr.send(null);
//监听接收服务器请求状态
xhr.onreadystatechange = function(){
//判断请求状态和服务器的状态码
if(xhr.readyState = 4 && xhr.status == 200){
var result = document.querySelector('.result');
result.innerHTML = xhr.responseText;
}
} </script>
  • jQuery中的Ajax

    jQuery为我们提供了更强大的Ajax封装

    $.ajax({}) 可配置方式发起Ajax请求

    $.get() 以GET方式发起Ajax请求

    $.post() 以POST方式发起Ajax请求

    $('form').serialize() 序列化表单(即格式化key=val&key=val)

    url 接口地址

    type 请求方式

    timeout 请求超时

    dataType 服务器返回格式

    data 发送请求数据

    beforeSend: function () {} 请求发起前调用

    success 成功响应后调用

    error 错误响应时调用

    complete 响应完成时调用(包括成功和失败)

关于ajax的那些事的更多相关文章

  1. 关于AJAX的一些事

    在JQ中运用AJAX的操作是很舒服的一件事,一直以来我对他都有个错误的认识,直到遇见了问题才把他研究个透彻. 下面贴出两种AJAX的写法,当然都是正确的. 其一: $.ajax({ type: 'po ...

  2. AJAX操作数据

    本文使用AJAX访问数据库文件,并显示在网页中.另外还有AJAX对数据库的删除操作,网页不加载,只刷新数据. 随意使用数据库中的一张表: 使用AJAX显示表中内容,首先打入body代码: <h1 ...

  3. 对ajax基础的掌握随笔

    原始的ajax,在第一个页面定义如下: function createAjax() { var xmlhttp; if (window.ActiveXObject) xmlhttp = new Act ...

  4. scrapy实战4 GET方法抓取ajax动态页面(以糗事百科APP为例子):

    一般来说爬虫类框架抓取Ajax动态页面都是通过一些第三方的webkit库去手动执行html页面中的js代码, 最后将生产的html代码交给spider分析.本篇文章则是通过利用fiddler抓包获取j ...

  5. (二)关于ajax那些事

    哈哈,今天突然兴起,想了想自己对ajax的了解,来这里叙述下.心情好,嘿嘿嘿 ajax是一种创建交互式网页应用的网页开发技术.就是在不重新加载页面的情况下,更新部分网页. ajax原理:ajax就是相 ...

  6. 关于json.ajax ,php的那点事

    $.ajax({ type:'post'/'get'  两者选其一 url:    地址 data: "newdata="+newdata+"&olddata=& ...

  7. 说说前端那些事之ajax

    原生ajax请求 前些日子,忙着考驾照,没有时间对知识进行总结,感到十分惭愧啊,刚好趁现在有时间,做个知识总结,希望对各位有所帮助. 很多人都知道ajax是用来进行数据请求的,但是具体的请求方法会有些 ...

  8. Ajax的那点事

    Ajax中什么是同步.异步? 同步:就是用户填写完信息之后,全部提交给服务器,等待服务器的回应,是一次性全部的. 异步:当用户填写完一条信息之后,这条信息会自动向服务器提交,然后服务器响应客户端,在此 ...

  9. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

随机推荐

  1. Android仿微信界面--使用Fragment实现(慕课网笔记)

    1 效果图  这里我们没有实现滑动切换view的功能 2 具体实现: 2.1 布局文件:top.xml, bottom.xml,tab01.xml,tab02.xml,tab03.xml,tab04. ...

  2. Qt部件学习之-烧鹅

    1,布局管理器 candidates

  3. dhtmlgrid修改,支持IE10

    因为项目IE升级,导致原来使用的dhtmlgrid无法正常显示,同时通过loadxml接口还有属性不支持. 花了半天时间对dhtmlgrid进行了修改,能够支持IE10正常加载显示. edit by ...

  4. Binary String Matching(kmp+str)

    Binary String Matching 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 Given two strings A and B, whose alp ...

  5. 项目积累——Blockingqueue,ConcurrentLinkedQueue,Executors

    背景 通过做以下一个小的接口系统gate,了解一下mina和java并发包里的东西.A系统为javaweb项目,B为C语言项目,gate是本篇须要完毕的系统. 需求 1. A为集群系统,并发较高,会批 ...

  6. [置顶] 有关ListIterator接口的add与remove方法探究

    ListIterator接口继承自Iterator接口,新增了add()等方法. 关于ListIterator的add()方法的作用(接口是没有方法实现的,但其实现类对于add()方法的实现机制大致相 ...

  7. Ubuntu引导修复问题

    Ubuntu和Win7双系统,一不小心在Ubuntu下把Win7 C盘的boot目录给删了(手贱呀),然后Win7就没了,后来找了张WinPE启动盘修复了Win7引导结果,Ubuntu系统的引导没了. ...

  8. JS 更改表单的提交时间和Input file的样式

    JS转换时间 function renderTime(data) { var da = eval('new ' + data.replace('/', '', 'g').replace('/', '' ...

  9. 异常 ORA-00257: archiver error. Connect internal only, until freed

    我oracle 是安装在linux 下. ORA-00257: archiver error. Connect internal only, until freed 得知是错误是由于归档日志(arch ...

  10. HTMLのフォームの送信ボタンは、inputとbuttonでは機能的な違いがありますか?

    (X)HTMLのフォームの送信ボタンは.inputとbuttonでは機能的な違いがありますか? <input type="submit" value="送信&quo ...