AJAX的概念,即“Asynchronous Javascript And XML”

通过在后台(浏览器的后台)与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
    传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面或者使用iframe。

AJAX写法 
  浏览器兼容
    if(window.ActiveXObject){
    //ActiveX是浏览器的插件
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE 678 OPEAR OLD
    }else if(window.XMLHttpRequest){
    xmlHttp = new XMLHttpRequest();//NEW
    }

状态码
  readyState
    XMLHttpRequest的准备状态,从0~4发生改变
    0:请求未初始化
    1:服务器连接已建立
    2:请求已经接受
    3:请求处理中
    4:请求已完成,且响应已就绪
  status
    200:正常完成
    404:未找到页面
    500:服务器处理错误

ActiveX:就是IE浏览器提供的插件接口

例如:PDFReader ActiveX、FlashPlayer ActiveX、网上银行 ActiveX、XMLHTTP ActiveX

  为什么响应有文本和XML格式
    因为当下最流行的数据交互格式,一种是json(responseText),另外一种是XML(responseXML)
    * JSON.parse(xmlHttp.responseText)

数据格式:
     XML:可扩展标记语言
     HTML:超文本标记语言
    JSON:基本上取代了ajax的responseXML格式
    第一:文件更小
    第二:json格式对于javascript更加友好
    * JSON.parse(jsonString);

代码:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div>账户余额:</div>
<b id="balance">0</b>
<button onclick="refreshBalance()">刷新余额</button>
<button onclick="loadDetails()">加载历史交易记录</button>
<div id="details"></div>
<script>
function refreshBalance(){
var xmlHttp;
if(window.ActiveXObject){//native code 系统自带的
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else{
throw new Error("您的浏览器暂时不支持AJAX,请升级或者更换浏览器");
}
xmlHttp.open("GET","balance.txt");
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
document.getElementById("balance").innerHTML = xmlHttp.responseText;
}
}
//xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.send(null);
}
function loadDetails(){
var xmlHttp;
if(window.ActiveXObject){//native code
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else{
throw new Error("您的浏览器暂时不支持AJAX,请升级或者更换浏览器");
}
xmlHttp.open("GET","details.xml");
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
//document.getElementById("details").innerHTML = ;
console.log(xmlHttp.responseXML.root);
}
}
//xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.send(null);
}
</script>
</body>
</html>
 function showJsonp() {
var url=""
var word=encodeURI('H型支柱');
$.ajax({
url:url,
type:'post',
data:{word:word,size:},
dataType:'jsonp',
jsonp:'a',
jsonpCallback:"ss",
success:function (data) {
console.log(data)
}
})
}

参数:jsonp :在一个jsonp请求中重写回调函数的名字。该值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,例如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

jsonCallback: 是客户端注册的,获取 跨域服务器 上的json数据 后,回调的函数。
http://crossdomain.com/services.php?callback=jsonpCallback
这个 url 是跨域服务 器取 json 数据的接口,参数为回调函数的名字,返回的格式为


jsonpCallback({msg:'this is json data'})  

jsonp参考:http://justcoding.iteye.com/blog/1366102

 

参考地址:

jQuery之Ajax--全局Ajax事件处理器

ajax相关知识点的更多相关文章

  1. @RequestBody和@RequestParam注解以及返回值,ajax相关知识点

    关于前后端传递json数据这块查了好多资料,好多地方还是不清楚,先记录一下清楚的地方. 如果我们前端使用ajax发json数据,一般都加上contentType:'application/json;c ...

  2. UITableView相关知识点

    //*****UITableView相关知识点*****// 1 #import "ViewController.h" // step1 要实现UITableViewDataSou ...

  3. Android开发涉及有点概念&相关知识点(待写)

    前言,承接之前的 IOS开发涉及有点概念&相关知识点,这次归纳的是Android开发相关,好废话不说了.. 先声明下,Android开发涉及概念比IOS杂很多,可能有很多都题不到的.. 首先由 ...

  4. IOS开发涉及有点概念&相关知识点

    前言,IOS是基于UNIX的,用C/C+/OC直通系统底层,不想android有个jvm. 首先还是系统架构的分层架构 1.核心操作系统层 Core OS,就是内存管理.文件系统.电源管理等 2.核心 ...

  5. IOS之UI--小实例项目--添加商品和商品名(使用xib文件终结版) + xib相关知识点总结

    添加商品和商品名小项目(使用xib文件终结版) 小贴士:博文末尾有项目源码在百度云备份的下载链接. xib相关知识点总结 01-基本使用 一开始使用xib的时候,如果要使用自定义view的代码,就需要 ...

  6. 学习记录013-NFS相关知识点

    一.NFS相关知识点 1.NFS常用的路径/etc/exports NFS服务主配置文件,配置NFS具体共享服务的地点/usr/sbin/exportfs NFS服务的管理命令,exportfs -a ...

  7. TCP/IP 相关知识点与面试题集

    第一部分:TCP/IP相关知识点 对TCP/IP的整体认 链路层知识点 IP层知识点 运输层知识点 应用层知识点 (这些知识点都可以参考:http://www.cnblogs.com/newwy/p/ ...

  8. Python开发一个csv比较功能相关知识点汇总及demo

    Python 2.7 csv.reader(csvfile, dialect='excel', **fmtparams)的一个坑:csvfile被csv.reader生成的iterator,在遍历每二 ...

  9. Caffe学习系列(二)Caffe代码结构梳理,及相关知识点归纳

    前言: 通过检索论文.书籍.博客,继续学习Caffe,千里之行始于足下,继续努力.将自己学到的一些东西记录下来,方便日后的整理. 正文: 1.代码结构梳理 在终端下运行如下命令,可以查看caffe代码 ...

随机推荐

  1. pyglet -- 视频播放器 (简单实现,效果不是太好,切换资源会卡死)(三)

    实现一个简单的视频播放器,效果不是很好.这里不多说,直接贴代码了. #-*- coding:gbk -*- import pyglet import os from pyglet.gl import ...

  2. Dom--属性以及创建标签

    一.Dom属性 1.1 设置属性(setAttribute) 设置某个标签的属性,setAttribute(key,value) <body> <div> <input ...

  3. 学习windows编程 day5 之 区域裁剪

    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...

  4. POJ 2796[UVA 1619] Feel Good

    Feel Good Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 16786   Accepted: 4627 Case T ...

  5. json 不能 dumps Decimal 解决办法

    class DecimalEncoder(json.JSONEncoder): def default(self, o): if isinstance(o, decimal.Decimal): ret ...

  6. Java SE之装箱与拆箱【基本数据类型的包装类/==与equals方法】

     对象包装器.自动装箱与拆箱   2016/11/30  晚   特点       1.所有的基本类型都有一个包装器类与之对应.[Integer,Boolean,Long,Character,Shor ...

  7. 自己对Java的一些认识

    作为一个理论性比较强的学生,谈一下这段时间对java以及对程序设计的理解 java相对于其它语言有几个特点,一个是面向对象,一个是强类型          首先谈谈面向对象,关于类和对象,这个一定要有 ...

  8. 当WebView运行在特权进程时抛出安全异常,Hook方式解决方案(包含对Android 8.0的处理)

    1.问题起源报错语句是:java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in ...

  9. Box-Muller 与 ziggurat

    1. Ziggurat 算法与 Box-muller 算法的效率比较 2. Box-Muller a. 一般形式 因函数调用较多,速度慢,当u接近0时存在数值稳定性问题 先假设. 用Box-Mulle ...

  10. Qt5.7 无法输入中文问题

    把libfcitxplatforminputcontextplugin.so复制到安装的Qt目录下的两个文件夹中 sudo apt install fcitx-frontend-qt5 sudo cp ...