ajax请求方式

$.ajax()


该方法用于执行Ajax请求,常用于其他jQuery Ajax方法不能完成的请求,也许我们可以把它称为"jQuery中Ajax系列方法之母"。

形式:$.ajax({name:val, name:val,...});
可选字段:
1)url:链接地址,字符串表示
2)data:需发送到服务器的数据,GET与POST都可以,格式为{A: '...', B: '...'}
3)type:"POST" 或 "GET",请求类型
4)timeout:请求超时时间,单位为毫秒,数值表示
5)cache:是否缓存请求结果,bool表示
6)contentType:内容类型,默认为"application/x-www-form-urlencoded"
7)dataType:服务器响应的数据类型,字符串表示;当填写为json时,回调函数中无需再对数据反序列化为json
8)success:请求成功后,服务器回调的函数
9)error:请求失败后,服务器回调的函数
10)complete:请求完成后调用的函数,无论请求是成功还是失败,都会调用该函数;如果设置了success与error函数,则该函数在它们之后被调用
11)async:是否异步处理,bool表示,默认为true;设置该值为false后,JS不会向下执行,而是原地等待服务器返回数据,并完成相应的回调函数后,再向下执行

$(document).ready(function () {
    let xhr = $.ajax({
        url: './js/tree.json', // 请求地址
        method: 'GET', // 请求方式
        dataType: 'json', // 响应数据类型
        success: function (response) {
            data = response; // 将返回的 JSON 数据存储在 data 变量中
            arr = show(data, 0, []); // 调用递归函数,从根节点开始构建树形结构
            console.log(arr); // 打印构建完成的树形数据结构
            rendertree(arr); // 调用渲染树的函数并传入树形数据
        }
    }); 
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用 Ajax 发送请求的示例代码: ```javascript function downloadFile() { // 请求文件的接口 var url = "https://example.com/file"; // 定义一个定时器,用于定时发送请求 var intervalId = setInterval(function() { // 发送 GET 请求 var xhr = new XMLHttpRequest(); xhr.open("GET", url); xhr.send(); // 监听请求状态变化 xhr.onreadystatechange = function() { // 如果请求成功并且响应头中包含 Content-Disposition 属性,说明文件已经下载完成 if (xhr.readyState == 4 && xhr.status == 200 && xhr.getResponseHeader("Content-Disposition")) { // 解析文件名 var filename = xhr.getResponseHeader("Content-Disposition").split("filename=")[1]; filename = filename.replace(/"/g, ""); // 创建一个 blob 对象,并将响应内容写入到 blob 中 var blob = new Blob([xhr.response]); // 创建一个超链接,用于下载文件 var link = document.createElement("a"); link.href = URL.createObjectURL(blob); link.download = filename; // 触发点击事件,下载文件 link.click(); // 清除定时器 clearInterval(intervalId); } }; }, 1000); } ``` 在上述代码中,使用 `XMLHttpRequest` 对象发送 Ajax 请求,并在请求状态变化时检查响应头中的 `Content-Disposition` 属性是否存在,如果存在则说明文件已经下载完成,可以将其保存到文件中并退出循环。如果不存在,等待一段时间后再次发送请求,直到文件下载完成。 需要注意的是,以上代码会一直循环等待直到文件下载完成。如果文件不存在或下载失败,代码会陷入无限循环中,需要在代码中添加相应的错误处理逻辑来避免这种情况。 另外,需要注意的是,Ajax 请求是异步的,因此不能使用 `while` 循环等待响应。上述代码使用了一个定时器来定时发送请求,以达到等待的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值