Ajax_04之jQuery中封装的Ajax函数
1、PHP中json_encode编码规则:
PHP索引数组编码为JSON:[...]
PHP关联数组编码为JSON:{...}
2、jQuery中AJAX封装函数之load:
①使用:$('选择器').load(url,[data],[fn]);
$('选择器').load(url);
②含义作用:创建XHR对象,向指定的URL发起异步请求,请求参数为data,如果响应成功,自动调用指定回调函数fn,将响应主体数据(必须是HTML片段),替换为当前选定元素的innerHTML,已有内容会被覆盖;
3、jQuery中AJAX封装函数之$.get:
①使用:$.get(url,[data],[fn]);
②含义作用:创建XHR对象,向指定的URL发起异步GET请求,请求参数为data(形如k=v&k=v或{k:v,k:v}),如果响应成功,自动调用指定回调函数fn(必须在此回调函数中对响应数据进行处理——doResponse);
4、jQuery中AJAX封装函数之$.post:
①使用:$.post(url,data,[fn]);
②含义作用:创建XHR对象,向指定URL发起异步POST请求,请求参数为data(形如k=v&k=v或{k:v,k:v}),追加在请求主体中,如果响应成功,自动调用指定回调函数fn(必须在此回调函数中对响应数据进行处理——doResponse(txt,msg,xhr););
③表单序列化:Serialize,把表单中所有具备name属性的输入域及值拼接为“k1=v1&k2=v2”形式的字符串,可直接用于HTTP请求消息(var data=$("#formId").serialize(););
5、jQuery中AJAX封装函数之$.getJSON:
①使用:$.getJSON(url,[data],[fn]);
②含义作用:创建XHR对象,向指定URL发起异步GET请求,请求参数为data(形如k=v&k=v或{k:v,k:v}),追加在URL后,如果响应成功,自动调用指定回调函数fn(必须在此回调函数中对响应数据进行处理——doResponse(txt,msg,xhr););
*(该函数要求响应数据必须是application/json类型,会自动调用JSON.parse(xhr.responseText)加以解析);
6、jQuery中AJAX封装函数之$.getScript:
①使用:$.getScript(url,[data],[fn]);
$.getScript(url);
②含义作用:创建XHR对象,向指定URL发起异步GET请求,请求参数为data(形如k=v&k=v或{k:v,k:v}),追加在URL后,如果响应成功,自动调用指定回调函数fn;
*(该函数要求响应数据必须是application/javascript类型,会自动调用eval(xhr.responseText)加以执行);
7、jQuery中AJAX封装函数之$.ajax:
①使用:
$.ajax({
type:'GET',//POST/PUT/DELETE/HEAD
url:'x.php',
data:'k=v&k=v', //{k:v}请求数据
beforeSend:function(){}, //请求发送前的回调
success:function(){}, //成功响应的回调
error:function(){}, //失败响应的回调
complete:function(){} //响应完成的回调
});
②对应原生AJAX代码:
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(xhr.readyState===4){
if(xhr.status===200){success();}
else{error();}
complete();
}
}
xhr.open();
beforeSend();
xhr.send();
8、总结:
①$('选择器').load(url);——只接收html响应;
②$.get(url,data,fn);——取决于响应消息声明的内容类型,若声明为application/json,会自动调用JSON.parse();若声明为application/javascript,会自动调用eval();若声明为text/plain等,则不会自动执行;
③$.post(url,data,fn);
④$.getJSON(url,data,fn);——只接收json响应,不论响应消息是什么类型,都会自动调用JSON.parse()把xhr.responseText进行解析得到JS对象;
⑤$.getScript(url);——只接收script响应,不论响应消息什么类型,都会自动调用eval把xhr.responseText进行执行;
Ajax_04之jQuery中封装的Ajax函数的更多相关文章
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 转载 : Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结 投稿:jingxian 字体:[增加 减小] 类型:转载 时间:2013-11-14我要评论 本文是 ...
- jquery中attr()与prop()函数用法实例详解(附用法区别)
本文实例讲述了jQuery中attr()与prop()函数用法.分享给大家供大家参考,具体如下: 一.jQuery的attr()方法 jquery中用attr()方法来获取和设置元素属性,attr是a ...
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON(),$.getScript(),$.load()的用法总结
参考文档 : https://blog.csdn.net/jiandanokok/article/details/48809717 本文是对Jquery中$.get(),$.post(),$.aja ...
- main.js中封装全局登录函数
1. 在 main.js 中封装全局登录函数 通过 vue 对象的原型扩展,可以扩展一个函数,这样这个函数就可以在每一个界面通过类似指向对象的方式,去访问这个函数. 如下是 main.js 扩展的函数 ...
- JQuery中bind和unbind函数与onclick绑定事件区分
JQuery中bind和unbind函数转载: https://blog.csdn.net/liucheng417/article/details/51131982 页面代码: <body& ...
- jquery 中 html与text函数的区别
jquery 中 html与text函数的区别 共同点:它们都能讲函数中的参数渲染到页面中: 异同点: text() 只是简单的讲参数的内容写入到页面中: html() 会根据参数的值,判断是否字体符 ...
- (转)Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
详细解读Jquery各Ajax函数: $.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址, ...
随机推荐
- Map排序
HashMap: 最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度.HashMap最多只允许一条记录的键为Null(多条会覆盖);允许多条记录的值为 ...
- BZOJ4583 : 购物
首先,如果一家店的区间完全包含了另一家,那么可以删掉另一家,中间的可以用组合数计算方案数. 那么现在将所有店按$l$排序,那么$l$和$r$都严格递增. 设$f[i][j][k]$表示当前是第$i$天 ...
- maven-javaServlet-文件上传
十月 25, 2016 5:00:39 下午 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache To ...
- 从零开始山寨Caffe·拾贰:IO系统(四)
消费者 回忆:生产者提供产品的接口 在第捌章,IO系统(二)中,生产者DataReader提供了外部消费接口: class DataReader { public: ......... Blockin ...
- 伪Textatea的构建(div+table),以及相应的滚动条问题与safari上的优化
在页面中创建一个不可编辑的文本块,并且文本块的篇幅较大,第一反应是创建一个textarea,并将它的disabled="disabled",并设置相应的scroll属性,就可以构建 ...
- seajs学习一天后的总结归纳
公司项目最近需要将js文件迁移到seajs来进行模块化管理,由于我以前主要接触模块化开发是接触的AMD规范的requireJS,没有接触过CMD规范,而且在实际项目中还没有用过类似技术.于是,我非常兴 ...
- VS2015 调试时 编辑并继续不可用
最近在项目中遇到一次调试时 编辑并继续不可用.结合网上说的工具->设置->调试->常规下的一些操作,到后来还是不可用,最后把项目的解决方案平台改成Mixed Platform ,之后 ...
- Array方法
1.concat()方法 用法:用于连接两个或者多个数组. 对原数组有无影响:不会改变原有数组,会返回一个连接之后的数组. 2.join()方法 用法:以指定的分隔符把数组中每一项拆分成字符串. 对原 ...
- 了解vmware tools
了解vmware tools vmware tools是虚拟机VMware Workstation自带的一款工具,它的作用就是使用户可以从物理主机直接往虚拟机里面拖文件.如果不安装它,我们是无法进行虚 ...
- 编写base64图片文件
base64编码代替css背景图片在网站上应用是很广泛的,例如:loading gif图片,天猫加载时那只猫等等. 因为base64图片可以减少http请求,所以我们经常会把不经常改动的,独立的,尺寸 ...