// 1, get请求方式 // 语法 : $().get( {以对象的形式,定义4个参数} ) // 只有 url地址,是必要参数,其他可以不写 // get方式,不能post方式请求,不能跨域
/* $().get({ url:'请求地址', data:携带的参数 对象形式 dataType:默认值是string,以字符串的形式解析响应体 可以设定 'json' 以 json串形式解析响应体 success:请求成功时执行的回调函数 }) */
// 2, post请求方式 // 语法 : $.post( {以对象的形式,定义4个参数} ) // 只有 url地址,是必要参数,其他可以不写 // post方式,不能get方式请求,不能跨域
/* $.post({ url:'请求地址', data:携带的参数 对象形式 dataType:默认值是string,以字符串的形式解析响应体 可以设定 'json' 以 json串形式解析响应体 success:请求成功时执行的回调函数 }) */
// 3, 混合方式 // $.ajax(对象的形式定义参数)
/* $.ajax({ url 请求地址,必须写 type/method : 请求方式 默认是 get data : {} 携带的参数 dataType : 响应体格式,默认是 text 字符串 json 自动解析响应体中的json字符串 jsonp 以jsonp的形式完成跨域请求 success:function(){} 请求成功的回调函数 jsonp:回调函数名称存储的键名
不常用的参数: async : 定义是否异步执行ajax请求 默认值是 true 默认是异步请求 error : 请求失败时,执行的回调函数 timeout : 设定请求超时 超过设定的会认为是请求失败 cache : 设定是否缓存 只对get请求起作用 context: 指定 执行函数中的this指向 }) */
// 4, 混合方式执行跨域请求 // 代理方式完成跨域 // 必须要设置好代理 // 设定请求地址时,使用 代理 来设定请求地址 // 其他的请求参数设定与正常形式一样
// 5, 混合方式执行跨区请求 // jsonp方式完成跨域 // ajax 的jsonp方式完成跨域,会自动定义一个函数名称并且自动传参,我们自己不用定义 // 只需要将dataType 定义为 jsonp 格式 // 会自动以jsonp的格式,对跨域完成请求
// 要想通过 jQuery 封装的 ajax 完成 jsonp 请求 // 1, 请求中,必须设定参数 // 需要将dataType 设定为 jsonp 格式 // dataType 为了完成跨域,不能设定成json,不会自动解析json串格式的响应内容 // 需要设定 jsonp: 'fun', 传参函数名称的 键值对 键名 // 在 fun 中 会 存储 jQuery自动封装的函数名称 // 还会自动传参 当前时间戳 //
// 2, php后端程序 , 必须是以函数的形式,返回内容 // 返回的响应体是函数的实参 // php后端返回的结果,必须是设定好的数据类型结果,如果是json字符串的格式 // 必须要在 回调函数中单独处理响应结果 // 总结: // 1, jsonp 只能是 get 请求方式 // 2, jQuery会在ajax中自动封装,函数名称和时间戳,以参数的形式传参给后端PHP程序 // 3, 设定 ajax 请求 必修要 // dataType,定义为 jsonp // jsonp , 传参函数名称的 键名 ,后端程序可以接收存储函数名称 // 4, 时间戳不用定义 键名 , jQuery自动定义键名 _ // 5, 应为 dataType 定义成了 jsonp // 如果后端返回结果是 json串格式 内容,必须要在回调函数中独立处理转化为 对应数据类型 // 6, 后端程序,需要通过 jsonp 定义的键名 存储 函数函数名称 // 以函数参数的形式,返回响应体内容