Jquery中的Ajax
AJAX:
* jQuery中的Ajax
* 封装第一层 - 类似于原生Ajax的用法
* $.ajax() - 最复杂
* 选项
* url - 请求地址
* type - 请求类型,默认为GET
* async - 是否异步,默认为true
* data - 请求数据,格式为key:value
* dataType - 响应数据格式
* HTML格式
* XML格式
* JSON格式
* success - 请求成功后的回调函数
function(data,textStatus){}
* data - 响应数据内容
* textStatus - success,请求状态
* error - 请求失败后的回调函数
function(XMLHttpRequest,textStatus,errorThrown){}
* XMLHttpRequest - Ajax的核心对象
* textStatus - 请求状态
* error、timeout及notmodified等
* errorThrown - 错误异常信息
* 封装第二层 - 基于第一层再次封装
* $().load(url,data,callback) - 最简单、局限性最大
* 参数
* url - 设置当前Ajax的请求地址
* data - 设置当前Ajax的请求数据
* 格式要求为key:value,构建Object即可
* callback - Ajax请求成功后的回调函数
* 该回调函数的形参(data),表示服务器端响应的数据内容
* 问题
* 请求类型由是否发送请求数据决定
* 没有发送请求数据时,请求类型为GET
* 如果发送请求数据时,请求类型为POST
* 默认接收服务器端的数据内容
* 是以字符串类型(HTML格式)进行接收
* 无法使用XML格式或JSON格式
* $.get(url,data,callback,type) - 请求类型是GET
* 参数
* url - 设置当前Ajax的请求地址
* data - 设置当前Ajax的请求数据
* 格式要求为key:value,构建Object即可
* callback - Ajax请求成功后的回调函数
* 该回调函数的形参(data),表示服务器端响应的数据内容
* type - 设置服务器端响应数据的格式
* 默认值 - HTML格式
* xml - XML格式
* json - JSON格式
* $.post() - 请求类型是POST
* 使用方式与$.get()方法一致
* 封装第三层 - 特殊用法
* $.getScript(url,callback) - 动态读取脚本(JavaScript代码)
* url - 读取脚本的地址(本地或服务器)
* callback - 读取成功后的回调函数
* $.getJSON() - 接收JSON格式数据
* 表单的Ajax异步请求
* 表单的序列化
* serialize()方法
* 返回JSON字符串
* 格式 - {key:value,key:value,..}
* serializeArray()方法
* 返回JSON对象
* 格式 - [obj1,obj2,obj3,...]
* 注意
* 表单元素必须具有name属性值
* jQuery.form插件
* 作用 - 实现表单的异步提交
* 两个核心方法
* ajaxForm()方法
* ajaxSubmit()方法 - 使用Ajax异步提交表单
* 底层机制
* 表单提交机制
* 表单异步提交的方式
* 不再使用submit按钮,而是使用button按钮
* 通过为button按钮绑定click事件
* 表单的序列化
* 表单的异步提交
* (常用)依旧使用submit按钮
* 在<form>元素绑定onsubmit事件
* 在onsubmit事件的处理函数中
* 表单的序列化
* 表单的异步提交
* 阻止表单默认行为(return false)
* 跨域请求 - $.getJSON()方法
* 跨域
* 完全跨域 - IP不同
* http://www.baidu.com
* http://www.tedu.cn
* 跨子域 - IP相同,但端口号不同
* http://127.0.0.1:8888
* http://127.0.0.1:9999
* 域名
* 顶级域名
* http://www.baidu.com
* 二级域名
* http://wenku.baidu.com
* http://www.baidu.com/kongjian
* 万维网协议
* 默认是不允许跨域请求的
* 实现跨域
* Cookie
* 基本内容
* 浏览器的缓存
* 存储在浏览器内存中
* 关闭浏览器(窗口)后,数据会被自动销毁
* 存储在用户电脑硬盘中
* 关闭浏览器(窗口)后,数据不会被销毁
* Cookie(小甜饼)
* 缓存文件 - 一些用户数据存储在此
* 问题
* 用户数据是以明码(明文)来存储的
* Cookie谁都可以读取
* A网站生成的Cookie文件,归属到百度
* 如何操作操作
* 读取Cookie - 将用户名或密码从Cookie读取
* document.cookie
* 写入Cookie - 将用户名或密码写入到Cookie文件
* 格式 - key=value;expires=时间
* document.cookie
Jquery中的Ajax的更多相关文章
- jQuery入门(4)jQuery中的Ajax应用
jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...
- 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover" ...
- jquery中的ajax参数
jquery中将ajax封装成了函数,我们使用起来非常方便,jquery会自动根据内容选择post还是get方式提交数据,并且会自动编码,但是要想完全掌握jquery中的ajax,我们必须将它的各个参 ...
- 用JQuery中的Ajax方法获取web service等后台程序中的方法
用JQuery中的Ajax方法获取web service等后台程序中的方法 1.准备需要被前台html页面调用的web Service,这里我们就用ws来代替了,代码如下: using System; ...
- jQuery中操作Ajax方法小结
有时候,越深入去了解一个点,越发觉得自己无知,而之前当自己晓得一两个片面的点还洋洋自得,殊不知,这是多么讽刺 jQery对Ajax操作进行了封装,常见的 ajax()属于最底层的方法,使用频率很高的 ...
- $.ajax()方法详解 jquery中的ajax方法
jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...
- 深入理解ajax系列第九篇——jQuery中的ajax
前面的话 jQuery提供了一些日常开发中需要的快捷操作,例如load.ajax.get和post等,使用jQuery开发ajax将变得极其简单.这样开发人员就可以将程序开发集中在业务和用户体验上,而 ...
- 两强相争,鹿死谁手 — JQuery中的Ajax与AngularJS中的$http
一.JQuery与AngularJS 首先,先简单的了解一下JQuery与AngularJS.从源头上来说,两者都属于原生JS所封装成的库,两种为平行关系. 二.Ajax请求与数据遍历打印 这里是Aj ...
- jQuery中的$.ajax()方法
jQuery中的$.ajax()方法 $.ajax({ type:"POST", url:"../page/user.action?userId=" + use ...
随机推荐
- 一个美术需求引发的Custom Inspector
需求 Editor模式下,在运行或者非运行状态下,能够按照指定的变化率来自动改变material中属性数值. 需求分析 如何在Editor模式下获得一个游戏对象及其组件,尤其是在非运行状态下?我们知道 ...
- SQL Server 维护计划实现数据库备份(策略实战)
一.背景 之前写过一篇关于备份的文章:SQL Server 维护计划实现数据库备份,上面文章使用完整备份和差异备份基本上能解决数据库备份的问题,但是为了保障数据更加安全,我们需要再次完善我们的备份计划 ...
- 前端学PHP之数组函数
× 目录 [1]键值操作 [2]记数[3]回调函数[4]组合[5]栈和队列[6]顺序 前面的话 PHP中的数组功能非常强大,数组处理函数有着强大.灵活.高效的特点.PHP5提供了近100个操作数组的系 ...
- javascript运动系列第六篇——轨迹和投掷
× 目录 [1]运动轨迹 [2]拖拽轨迹 [3]投掷 前面的话 一般地,不同的运动形式会产生不同的轨迹.但仅凭肉眼去识别运动轨迹,其实并不是很直观.因此,在页面中显示运动轨迹,是一个重要的问题.物体初 ...
- Android随笔之——Android ADB详解
ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备.它主要有以下几个功能: 1.运 ...
- Linux内存管理之bootmem分配器
为什么要使用bootmem分配器,内存管理不是有buddy系统和slab分配器吗?由于在系统初始化的时候需要执行一些内存管理,内存分配的任务,这个时候buddy系统,slab分配器等并没有被初始化好, ...
- input(file)按钮美化
<!DOCTYPE HTML> <html> <body> <input type="file" id="upload" ...
- EF7 Code First Only-所引发的一些“臆想”
At TechEd North America we were excited to announce our plans for EF7, and even demo some very early ...
- ACM-南京理工大学第八届程序设计竞赛-网络赛(2016.04.17)
A.偷吃糖果Time Limit: 1000Ms Memory Limit: 65536KB Description小鱼喜欢吃糖果.他有两盒糖果,两盒糖果分别仅由小写字母组成的字符串s和字符串t构成. ...
- Cesium原理篇:6 Render模块(6: Instance实例化)
最近研究Cesium的实例化,尽管该技术需要在WebGL2.0,也就是OpenGL ES3.0才支持.调试源码的时候眼前一亮,发现VAO和glDrawBuffers都不是WebGL1.0的标准函数,都 ...