Ajax异步请求的各种使用情况

前端之家收集整理的这篇文章主要介绍了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",注:默认为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,[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","json"  //dataType
            );
        }
    });

4 $.getJSON(url,[callback])方式 注:data可选

5 $.getScript(url,[callback])方式 注:callback可选 通过 HTTP GET 请求载入并执行一个 JavaScript 文件

$.getScript("test.js",function(){
  alert("Script loaded and executed.");
});

6 $.load(url,[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");
 });

猜你在找的Ajax相关文章