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("删除失败");
                    }
                }
            });
        }

    });


请求成功后的返回函数也可以$.ajax().done(function(){})来代替:

$(".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");
 });



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。