ThinkPHP---拓展之jQuery的ajax
【前言】
用Sublime开发时,推荐下载一个jQuery插件,可以智能化创建基本函数格式,支持自动生成,可以提高开发效率
(1)jQuery里ajax方法有几个?
答:有4个,分别为post、get、ajax、getJson(解决跨域时使用)
用来发送ajax请求的常用前3个get、post、ajax,下面依次介绍下
(2)$.get方法
语法:jQuery.get(url,[callback],[type])或者$.get(url,[callback],[type])----------------由此看出jQuery == $,为什么呢?下面再解释下
参数说明:url必须参数,表示请求的url地址;
callback可选参数,表示请求成功后触发的回调函数;
type可选参数,期望的返回数据类型,例如json、text、html、xml、jsonb等。常用的是json,因为格式方便,而且PHP封装了json内置函数
$.get('/path/to/file', function(data) { /*optional stuff to do after success */ });
拓展:为什么jQuery == $,这要看下jQuery源码了。分析源码后即可找到下面这行
(3)$.post
语法:jquery.post(url,[data],[callback],[type])或者$.post(url,[data],[callback],[type])
参数:url必选,表示请求的url地址;
data可选,表示给url传递的post参数;--------------------为什么get方法没有data参数呢?因为get方法中的参数直接写在url里通过?的形式传递
callback:表示执行成功后的回调函数;
type:期望的返回数据类型
$.$.post('/path/to/file', {param1: 'value1'}, function(data, textStatus, xhr) { /*optional stuff to do after success */ });
(4)$.ajax方法
该方法是针对上面两个方法的底层实现,即Ajax方法是jQuery里ajax方法(get和post)的底层实现方法
语法:$.ajax(json对象)
参数:就一个参数,即json格式参数
分析代码格式可以发现就一个json格式的参数,下面是JSON对象中的属性说明,下面拓展里介绍下常见属性
{ url: '/path/to/file', type: 'default GET (Other values: POST)', dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)', data: {param1: 'value1'}, }
完整$.ajax结构代码:
$.$.ajax({ url: '/path/to/file', type: 'default GET (Other values: POST)', dataType: 'default: Intelligent Guess (Other values: xml, json, script, or html)', data: {param1: 'value1'}, }) .done(function() { console.log("success"); }) .fail(function() { console.log("error"); }) .always(function() { console.log("complete"); });
(4.1)ajax的json参数的属性说明
常见属性:async、cache、complete、data、dataType、success、type、url
①async:ajax全称为Asynchronous Javascript And XML------异步 JavaScript 和 XML,所以该属性表示是否是异步,默认是。
对此有个问题,什么是同步,什么是异步?下面拓展里做下介绍
②cache:是否使用缓存,默认是。当dataType为jsonp或者script的时候默认否,即不使用缓存
③complete(完成):当请求执行完成时触发的回调函数,注意:完成不一定表示成功,当状态码为200时才是成功
④data:表示传递的参数,参数为json格式
⑤dataType:期望的返回数据类型,有json、xml、jsonp、html、text等
⑥success:请求出成功后触发的回调函数
⑦type:请求类型,如get、post
⑧url:请求的地址
拓展:什么是同步?什么是异步?
同步就是顺序执行,异步就是可以并发。举个简单例子,你在家吃饭的时候有人敲门,如果先做完当前动作在执行下一步就是同步执行,即吃完饭再去开门。如果在没有做完当前事的情况下去做下一件事,即你先放下碗去开门,然后回来再吃,这种便是异步。