jQuery中的Ajax

dookie / 2023-08-09 / 原文

Ajax 是一种异步、无刷新(或者说局部页面刷新)技术

1.$.ajax

jQuery 调用 ajax 方法

格式:$.ajax({});

参数:

type:请求方式GET/POST

url: 请求地址 url

async:是否一步,默认是 true 表示异步

data:发送到服务器的数据

dataType:预期服务器返回的数据类型

contentType:设置请求头

success:请求成功时调用此函数

error:请求失败时调用此函数

案例:

$.ajax({
    url: "http://192.168.20.93/webshop_war_exploded/findProductByCataJson",
    type: 'post',
    data: {cid:this.value},
    dataType: 'json',
    success: function(data) {
        $(data).each(function() {
            var op = $("<tr><td>" + this.pid + "</td><td>" + this.pname +
                       "</td><td>" + this.market_price + "</td></tr>");
            $("table").append(op);
        });
    }
});

$.ajax({
    url: "http://192.168.20.93/webshop_war_exploded/findProductByCataJson",
    type: 'post',
    data: {cid:this.value},
    dataType: 'json',
    success(result, status, xhr): {
        if(status == 200) {
            var op = $("<tr><td>" + this.pid + "</td><td>" + this.pname +
                       "</td><td>" + this.market_price + "</td></tr>");
            $("table").append(op);
        }
    }
});

2.$.get

这是一个简单的 GET 请求功能以取代复杂 $.ajax。

请求成功时可调用回调函数,如果需要在出错时执行函数,请使用 $.ajax

语法:

$.get("请求地址","请求参数",function(形参){
    
});

案例:

$.get(url, data, function(d) {
    var list = JSON.parse(d);
    $(list).each(function(){
        var op = $("<tr><td>"+this.pid+"</td><td>"+this.pname+"</td><td>"+this.market_price+"</td></tr>");
        $("table").append(op);
    });
});

3.$.post

语法:

$.post("请求地址","请求参数",function(形参){
    
});

案例:

$.get(url, data, function(d) {
    var list = JSON.parse(d);
    $(list).each(function(){
        var op = $("<tr><td>"+this.pid+"</td><td>"+this.pname+"</td><td>"+this.market_price+"</td></tr>");
        $("table").append(op);
    });
});

4.$.getJSON
语法:

$.getJSON("请求地址","请求参数",function(形参){
    
});

 

$.getJSON和$.get、$.post的用法是一致的,但是区别在于,$.getJSON 只能获取 json 格式的数据,其他的无法获取,而 $.get 和 $.post都可以获取。