jq中的ajax
jquery的ajax 方法 :$.ajax () $.get() $.post() $.getJson() $.getScript() load()
1、ajax的异步请求之 load 加载公共的html文件
load() 方法是一个局部的方法,通过jquery的选择器作为开始调用load方法
load()方法是异步的,加载的信息中如果需要事件响应,必须通过回调函数来实现(或者委托),也就是说所有load加载的数据中的事件都要写在回调函数中
load()方法如果想要请求不同结构的内容,可以把这些内容写到一个文件中,请求数据时,在url后加一个请求容器的选择器名称即可(这里选择器建议使用基本选择器)
load()方法的参数有三个:
第一个: 请求的url
第二个: 发送的数据 json格式 {}
第三个参数 : 回调函数
回调函数中有三个参数,分别是:
function(res,type,xhr){
console.log(res); //请求数据
console.log( type );//请求的状态
console.log(xhr); //deffered 异步对象 (类似于js中promise对象)
}
2、ajax请求之 $.get 或 $.post
以 $. 开始的ajax请求方式是全局方法
$.get(三个参数) 以get方式请求数据
第一个参数:请求的路径
第二个参数:请求数据 json对象 {}
第三个参数: 回调函数 (回调函数中也有三个参数,同load)
$.post() 以post方式请求数据 用法同$.get()
3、ajax请求之 $.getJson() $.getScript()
$.getJson("xxx.json",data, 回调函数) 通过这种方式请求json数据 三个参数 : url data function(){}
$.getScript("xxx.js",回调) 通过这种方式请求js脚本数据 ,立即执行请求的脚本代码
4、$.ajax
jquery的ajax请求服务器传递过来的数据一般都是object对象(请求的数据是object类型)
用法:
$.ajax({
type:"get", 请求数据方式
url:"http://127.0.0.1/jqAjx1706/data.json";, 请求路径
success:function(){ 服务器通过 success 方法 获取处理的结果
console.log("成功");
}
});
或 $.ajax 方法返回一个deferred对象 (类似promise)
如果请求数据成功,通过done方法获取服务器的数据
var deff = $.ajax({ type:,url: })
deff.done(function(){
})
关于deferred方法描述 :
deferred对象是jQuery的回调函数的解决方案。
deferred对象有done方法,表示成功时要调用的回调函数。
deferred对象有fail方法,表示失败时要调用的回调函数。
when方法表示都成功是再调用对应的回调函数。
常用方法:
①$.ajax({
type:"get",
datatype:"json",//指定请求数据的类型 请求数据类型如果是json 表示正常ajax请求 如果是jsonp,表示跨域请求
data:{"name":"admin"},//向服务器发送数据
success:function(res){
//alert(typeof res);
//此处处理服务器返回数据的业务逻辑
}
});
ajax跨域:
②$.ajax({
type:"get",
dataType:"jsonp",
jsonCallback:"fn" //设置回调函数
});
function fn(msg){
alert( msg );
}