当前位置: 首页 > article >正文

javascript中的 fetch API和 $.ajax API

🐾 (一)javascript中的 var 和 $

var:var 是一个关键字,用于声明变量。
$: $ 是jQuery函数的别名,通常用于选择DOM元素、创建jQuery对象等。

🐾 (二)javascript中的 fetch API 和 $.ajax API

(1)Fetch API: 是一个现代Web API,用于执行网络请求。 基于Promise设计,使得处理异步操作更加直观和易于管理。 提供了.then()和.catch()方法来处理Promise的解析和拒绝。
(2)jQuery $.ajax: 是jQuery库中的一个方法,用于发送异步HTTP请求。 提供了丰富的配置选项和回调函数,用于处理请求和响应。 支持多种类型的请求(GET、POST等)和数据格式(JSON、XML等)。

  • Fetch API 使用方法
  1. 初始化请求
fetch('/system/score_first/score_first')

这行代码使用fetch函数发起一个GET请求到指定的URL(/system/score_first/score_first)。fetch返回一个Promise对象,该对象在请求完成后会被解析或拒绝。

  1. 处理响应
.then(response => response.json())

请求成功后,response对象包含了服务器的响应。这里使用.json()方法将响应体解析为JSON格式,并返回一个新的Promise,该Promise在解析完成后会返回解析后的JSON数据。

  1. 更新ECharts图表
.then(data => {
  option1.xAxis[0].data = data.xData;
  option1.series[0].data = data.yData;
  myChart1.setOption(option1);
})

解析后的JSON数据(data)被用来更新ECharts的配置项(option1)。这里假设option1是一个已经定义好的ECharts配置项对象,它包含了图表的各种配置(如标题、坐标轴、系列等)。然后,使用myChart1.setOption(option1)方法应用这些更新。

  1. 错误处理
.catch(error => {
  console.error('Error fetching data:', error);
});

如果在请求过程中发生错误(如网络问题、服务器错误等),则执行.catch方法中的回调函数,并将错误信息打印到控制台。

  • jQuery $.ajax 使用方法
  1. 初始化请求
$.ajax({
  url: '/system/score_first/score_first',
  type: 'GET',
  dataType: 'json',
  // ...
});

这里使用$.ajax方法配置了一个AJAX请求。url指定了请求的URL,type指定了请求类型(GET),dataType指定了预期的服务器响应的数据类型(JSON)。

  1. 成功回调
success: function(data) {
  option1.xAxis[0].data = data.xData;
  option1.series[0].data = data.yData;
  myChart1.setOption(option1);
}

当请求成功时,success回调函数被调用,并传入解析后的响应数据(data)。

  1. 错误回调
error: function(xhr, status, error) {
  console.error('Error fetching data:', error);
}

如果请求失败,error回调函数被调用。

🐾 (三)$.ajax获取后端数据加载文档对象模型

$(document).ready(function() { ... }); 这段代码的作用是确保DOM(文档对象模型)完全加载和解析完成后再执行包含在其中的$.ajax等代码。

// 1  fetch方法
var myChart1 = echarts.init(document.getElementById('echarts-records'), 'walden')
function mychart1(time){
  if(time=='year1'){
    fetch('/system/score_first/score_first')  
    .then(response => response.json())  
    .then(data => {   
      option1.xAxis[0].data = data.xData;   
      option1.series[0].data = data.yData;   
      myChart1.setOption(option1);  
    })  
    .catch(error => {  
      console.error('Error fetching data:', error);  
    })
  });
});

// 2  $.ajax方法
var myChart1 = echarts.init(document.getElementById('echarts-records'), 'walden')
function mychart1(time){
  if(time=='year1'){
  	$.ajax({  
      url: '/system/score_first/score_first',  
      type: 'GET',  
      dataType: 'json',  
      success: function(data) {
      	option1.xAxis[0].data = data.xData;   
      	option1.series[0].data = data.yData;   
      	myChart1.setOption(option1);  
       }
       error: function(xhr, status, error) {
       	console.error('Error fetching data:', error);
	   }
	});
});

// 3  $.ajax获取后端数据加载文档对象模型
$(document).ready(function() {
    $.ajax({
        url: 'some-url',
        method: 'GET',
        success: function(data) {
        }
    });
});

http://www.kler.cn/a/388446.html

相关文章:

  • [Python3] Sanic中间件
  • windows C++ TCP客户端
  • IMX芯片启动方式
  • Linux的启动流程
  • Springboot + vue3 实现大文件上传方案:秒传、断点续传、分片上传、前端异步上传
  • 渗透Vulnhub-DC-9靶机
  • 24年11月架构考试题里的两道小学数学题
  • ⭐SmartControl: Enhancing ControlNet for Handling Rough Visual Conditions
  • 使用Go语言编写一个简单的NTP服务器
  • 《重学Java设计模式》之 建造者模式
  • 第三十八章 章节练习之面经页面
  • (一)<江科大STM32>——软件环境搭建+新建工程步骤
  • conda 启动时添加执行脚本
  • 优化布线拥塞
  • vue/react做多语言国际化的时候,在语言配置中不同的语言配置不同的字体,动态引入scss里面
  • spring gateway 动态路由
  • Python pandas库:强大的数据处理工具
  • NoSQL大数据存储技术测试(2)NoSQL数据库的基本原理
  • DU模拟器(S5040A Open RAN Studio Player and Capture Appliance)
  • OSS和FastDFS的详细比较
  • 宝塔面板中使用Acme SSL.cn申请的免费HTTPS SSL证书安装步骤
  • 如何进行数据库连接池的参数优化?
  • 默认 iOS 设置使已锁定的 iPhone 容易受到攻击
  • 2024-11-01 - 统一身份认证 - OpenLdap - 中间件 - 流雨声
  • 【SAP FICO】财务三大报表_2-进阶(杜邦分析法、资产负债表-数据表结构、取数逻辑)
  • DOM事件监听 (鼠标事件,键盘事件,表单事件)