AJAX 即 "Asynchronous Javascript And XML"(异步 JavaScript 和 XML), 是指一种创建交互式网页 http://baike.baidu.com/view/828.htm 应用的网页开发技术. Ajax 不是一种新的编程语言, 而是使用现有标准的新方法. AJAX 可以在不重新加载整个页面的情况下, 与服务器交换数据. 这种异步交互的方式, 使用户单击后, 不必刷新页面也能获取新数据. 使用 Ajax, 用户可以创建接近本地桌面应用的直接, 高可用, 更丰富, 更动态的 web 用户界面.
使用文档对象模型 (Document Object Model) 作动态显示和交互
使用 XML 和 XSLT 做数据交互和操作
使用 XMLHttpRequest 进行异步数据接收
利用 AJAX 可以做:
注册时, 输入用户名自动检测用户是否已经存在.
登陆时, 提示用户名密码错误
删除数据行时, 将行 ID 发送到后台, 后台在数据库中删除, 数据库删除成功后, 在页面 DOM 中将数据行也删除.
$.ajax(): 是 jQuery 中最底层的 Ajax 函数. 参数接收一个大对象, 用对象的键值对表示 Ajax 请求的相关设置;
type: 表示 Ajax 请求的方法, 可以是 get 和 post
url: 表示请求的后台 URL 地址
success: 表示请求成功的回调函数, 回调函数将接收三个参数, 其中第一个参数是请求成功返回的数据.
使用数据是, 需要注意返回的数据是 JOSN 字符串还是 JSON 对象.
error: 当请求失败时, 执行的回调函数
complete: 请求完成后, 无论成功失败都会调用的函数
statusCode: 接收一个对象, 对象的键时各种 status 状态, 对象的值表示每种状态码对应的回调函数.
[常见的 status 状态码]
200 - 请求成功; 404 - 页面没有找到; 500 - 服务器错误; 403 - 访问被拒绝;
async: 设为 true 表示异步请求(默认), 设为 false 表示同步请求;
data: 请求时, 向后台传递的数据, 是一个对象类型, 以键值对的形式分别表示 name:value.
dataType: 预期返回的数据类型格式. 常见的 json/text/html
timeout: 设置请求超时时间
[js 的同源策略]
在 js 中, 当请求其他文件时, 要求被请求文件与当前文件, 必须处于同一协议名, 同一主机名, 同一端口号下.
否则, 请求不能成功; 如过请求非同源文件, 必须进行跨域请求设置.
.load: 选中当前页面的一个 DOM 节点, 并在当前 DOM 节点中加载一块 html 代码片段:
接收的参数:
可以是一个 html 文件的地址, 表示将整个的 html 文件加载到当前区域;
$("#div1").load("text.html");
可以是一个 html 文件 + 各种选择器, 表示选择该也面的指定区域进行加载
- $("#div1").load("text.html h1,#ul{"name":"zhangsan","age":12,"sex":"nan","haobby":[
- {
- "2":"chi",
- "3":"wan",
- "4":"dan"
- }]
- }");
http: 超文本传输协议. 简单, 快捷, 灵活, 无状态, 无连接
URL: 统一资源定位符.
组成: 协议名:// 主机 IP: 端口号 / 项目资源地址? 传递参数的键值对 #锚点
eg:http//192.158.5.123:8080/js/index.php/?name=zaha#top
IP 地址在同一网段是唯一的, 如果是在公网中, 整个公网的 IP 是唯一的.
端口号默认是: 80, 可以省略不写, 常见的端口号: 80 Apache 8080 tomcat
本机 IP:localhost 或 127.0.0.1
[JSON 对象与 JSON 字符串]
1,JSON 对象: JSON 对象就是键值对的集合, 键与值之间用分号分隔, 多对用逗号分隔
注意: JSON 对象, 要求键必须用 ""包裹的字符.''无效(Java 中单引号表示字符)
2,JSON 字符串: 将 JSON 对象, 用字符串的形式包裹.
3,JSON 对象与 JSON 字符串的相互转换
对象>字符串 var str=JSON.stringify(obj);
字符串>对象 var obj=JSON.parse(jsonObj);
jQuery 中字符串转对象 $.parseJSON(obj);
4,JSON 数组: 将多个 JSON 对象组成数组形式存放, 称为 JSON 数组.
JSON 数组可以和 JSON 对象相互嵌套, 也就是说 JSON 对象的值可以是 JSON 数组
- var jsonArr=[
- {
- "name":"zhang",
- "hobby":[{"2":"chi","3":"kk"}]
- },{
- "name":"zhang",
- "hobby":[{"2":"chi","3":"kk"}]
- }
- ];
$.get: 在 $.Ajax 的基础上, 进行封装, 默认使用 get 请求.
接收四个参数:
请求的后台 URl
传递给后台的数据, 对象类型, 相当于 Ajax 中的 data 属性
请求成功的回调函数, 相当于 Ajax 中的 success
预期返回的数据类型, 相当于 Ajax 中的 dataType
$.getJSON: 通过 get 的方式, 请求 JSON 数据
用于检测网页中所有的 Ajax 的请求, 执行的回调
- $(document).ajaxComplete(callback)
- $(document).ajaxError(callback)
- $(document).ajaxSend(callback)
- $(document).ajaxStart(callback)
- $(document).ajaxStop(callback)
- ajax
来源: http://www.bubuko.com/infodetail-2599950.html