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:请求的地址

拓展:什么是同步?什么是异步?

          同步就是顺序执行,异步就是可以并发。举个简单例子,你在家吃饭的时候有人敲门,如果先做完当前动作在执行下一步就是同步执行,即吃完饭再去开门。如果在没有做完当前事的情况下去做下一件事,即你先放下碗去开门,然后回来再吃,这种便是异步。

         

原文地址:https://www.cnblogs.com/fightjianxian/p/8716202.html