Ajax异步请求的各种使用情况
首先介绍下Ajax的各项参数:
url : 发送请求的地址 (默认: 当前页地址)
data :发送到服务器的数据 (必须为 Key/Value 格式)
type : 请求方式 ("POST" 或 "GET"), 默认为 "GET"。
dataType :
预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML。在1.4中,JSON就会生成一个JavaScript对象,而script则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:
"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了"cache"参数。‘‘‘注意:‘‘‘在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)
"json": 返回 JSON 数据 。(推荐使用)
"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。"text": 返回纯文本字符串
succes :请求成功后的回调函数
1 $.ajax()的方式(推荐使用)
$(".del").click(function(){ var vedio_this = $(this).closest("tr"); var vedio_id = $(this).closest("tr").attr("id"); if(confirm("删除后将无法恢复,您确定删除?")){ $.ajax({ url:$("#url").val()+"/del_vedio", // 发送请求的地址 (默认: 当前页地址) data:{ //发送到服务器的数据 vedio_id:vedio_id }, type:"POST", //请求方式,后台服务器获取的方式为$_POST["vedio_id"],注:默认为GET dataType:"json", //返回的数据类型为json success:function(data){ //请求成功后的回调函数 if(data.code=="a"){ vedio_this.remove(); alert("删除成功"); }else{ alert("删除失败"); } } }); } });
$(".del").click(function(){ var vedio_this = $(this).closest("tr"); var vedio_id = $(this).closest("tr").attr("id"); if(confirm("删除后将无法恢复,您确定删除?")){ $.ajax({ url:$("#url").val()+"/del_vedio", // 发送请求的地址 (默认: 当前页地址) data:{ //发送到服务器的数据 vedio_id:vedio_id }, type:"POST", //请求方式,后台服务器获取的方式为$_POST["vedio_id"],注:默认为GET dataType:"json" //返回的数据类型为json }).done(function(data){ //请求成功后的回调函数 if(data.code=="a"){ vedio_this.remove(); alert("删除成功"); }else{ alert("删除失败"); } }); } });
2 $.post(url,[data],[callback],[datatype])方式 这是一个简单的 POST 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
注:datatype如果不写的话默认是txet
$(".del").click(function(){ var vedio_this = $(this).closest("tr"); var vedio_id = $(this).closest("tr").attr("id"); if(confirm("删除后将无法恢复,您确定删除?")){ $.post( $("#url").val()+"/del_vedio", //url {vedio_id:vedio_id}, //data function(data){ //请求成功后的回调函数 if(data.code=="a"){ vedio_this.remove(); alert("删除成功"); }else{ alert("删除失败"); } }, "json" //dataType ); } });
3 $.get(url,[data],[callback],[datatype])方式,,这是一个简单的 GET 请求功能以取代复杂 $.ajax 。请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
注意:后台接收数据时,要用$_GET[" "]接收
$(".del").click(function(){ var vedio_this = $(this).closest("tr"); var vedio_id = $(this).closest("tr").attr("id"); if(confirm("删除后将无法恢复,您确定删除?")){ $.get( $("#url").val()+"/del_vedio", //url {vedio_id:vedio_id}, //data function(data){ //请求成功后的回调函数 if(data.code=="a"){ vedio_this.remove(); alert("删除成功"); }else{ alert("删除失败"); } }, "json" //dataType ); } });
4 $.getJSON(url,[data],[callback])方式 注:data可选
5 $.getScript(url,[callback])方式 注:callback可选 通过 HTTP GET 请求载入并执行一个 JavaScript 文件。
$.getScript("test.js", function(){ alert("Script loaded and executed."); });
6 $.load(url,[data],[callback])方式 注:data和callback可选 载入远程 HTML 文件代码并插入至 DOM 中
如:
$("#feeds").load("feeds.html");
再如:
$("#feeds").load("feeds.php", {limit: 25}, function(){ alert("The last 25 entries in the feed have been loaded"); });
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。