AJAX的GET请求

基于PWM的汽车仪表步进电机微步驱动优化实践 本文深入探讨了基于PWM的微步驱动技术,用于优化汽车仪表步进电机的运行性能。通过将传统的分步驱动升级为PWM微步细分驱动,利用正弦/余弦查表法合成旋转磁场,有效消除了指针抖动与噪声,实现了指针的平滑、精准运动。文章以STM32和VID2905电机为例,提供了详细的硬件连接、代码实现及高级优化技巧,为提升汽车仪表体验提供了实用方案。 阅读详情

AJAX GET请求

需求

点击发送按钮将服务端返回的响应体结果在紫色的div框内显示出来

在这里插入图片描述

前端页面准备

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #result{
            width: 200px;
            height: 100px;
            border: solid 1px #90b;
        }
    </style>
</head>
<body>
    <button>点击发送请求</button>
    <div id="result"></div>
</body>
</html>

服务端准备

// 引入express
const express=require('express');

// 创建应用对象
const app=express();

// 创建路由规则
// request 是对请求报文的封装
// response 是对响应报文的封装
app.get('/server',(request,response)=>{
    // 设置响应

    // 设置响应头 设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');

    // 响应体
    response.send('HELLO AJAX');
});

// 监听端口启动服务
app.listen(8000,()=>{
    console.log("服务已经启动...");
})

启动服务
在这里插入图片描述

<script>
        // 获取元素
        const btn=document.getElementsByTagName('button')[0];
        // 绑定事件
        btn.onclick=function(){
            // 利用ajax来进行需求操作
            // 创建对象
            const xhr=new XMLHttpRequest();
            // 初始化 设置请求方法和url
            xhr.open('GET','http://127.0.0.1:8000/server');
            // 发送
            xhr.send();
            // 事件绑定 处理服务端返回的结果
            xhr.onreadystatechange=function(){
                // 针对 onreadystatechange 事件进行解析
                // on 当
                // readystate 是 xhr 对象中的属性 表示状态 其状态分别有五个值
                // 0 未初始化 
                // 1 open方法调用完毕
                // 2 send方法调用完毕
                // 3 表示服务端返回的部分结果
                // 4 表示服务端返回的所有结果
                // 以上状态一共能够返回四次 即 0-1 1-2 2-3 3-4
                // change 改变的时候触发 改一次触发一次

                // 判断 表明服务端返回了所有的的结果
                if(xhr.readyState===4){
                    // 判断 相应的状态码 200 404 403 401 500
                    // 提醒:响应状态码为 2xx 只要是 2 开头的都是成功的 
                    if(xhr.status>=200 && xhr.status<=300){
                        // 处理结果 四部分 行 头 空行 体 
                        // 行 三部分 (协议版本,状态码,状态响应字符串)
                        console.log(xhr.status);//状态码
                        console.log(xhr.statusText);//响应状态字符串
                        console.log(xhr.getAllResponseHeaders());//所有响应头
                        console.log(xhr.response);//响应体

                        // 设置result文本
                        result.innerHTML=xhr.response;
                    }else{

                    }
                }
            }
        }
    </script>

运行 点击按钮后
在这里插入图片描述

请求头查看

在这里插入图片描述

响应体

在这里插入图片描述

响应头

在这里插入图片描述

最终需求结果

在这里插入图片描述

AJAX中url的参数设置

我们平时url的传参都是在地址栏进行传参 就好比 www.baiud.com/s?wd=…
但是在AJAX中我们也是可以利用同样的方式在url的末尾进行缀参数的方式进行传参

比如:

    <button>点击发送请求</button>
    <div id="result"></div>
        // 获取元素
        const btn=document.getElementsByTagName('button')[0];
        // 绑定事件
        btn.onclick=function(){
            // 利用ajax来进行需求操作
            // 创建对象
            const xhr=new XMLHttpRequest();
            // 初始化 设置请求方法和url
            xhr.open('GET','http://127.0.0.1:8000/server?a=100&b=200&c=300');         
            }
手把手教你学Simulink--基于新能源并网与协调控制的场景实例:双馈异步风力发电机并网运行仿真 随着“双碳”目标的推进,风力发电已成为新能源并网的核心组成部分。其中,双馈异步风力发电机(Doubly-Fed Induction Generator, DFIG)因其变频器容量小(仅处理转差功率)、可实现有功/无功独立调节、运行效率高等优势,广泛应用于现代兆瓦级风电机组。DFIG系统通过转子侧变流器(Rotor-Side Converter, RSC)和网侧变流器(Grid-Side Converter, GSC)实现对发电机转矩与电网无功的精确控制,支持最大功率点跟踪(MPPT)和。 阅读详情

相关推荐

安装keil5(MDK)及导入pack包教程

首先说明的是我安装的Keil版本为Keil V5.29.0.0 1、安装软件 右键管理员权限运行安装包 设置安装路径以及pack的存放路径 随意输入First Name和E-mail 安装驱动 完成软件安装,然后可以先关闭弹出的Pack Install(一会再添加) 2、激活一下软件 打开桌面的Keil File → License Management(我之前注册过了) 右...

hrx-@@ 10万+

vue课程75 axios是只专注于网络请求的库

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>D...

geyaoisnice的博客 336

从时序迷宫到稳定通信:FSMC配置中的时间参数深度解析与实战避坑指南

本文深入解析STM32 FSMC配置中的时间参数,特别是AddressSetupTime和DataSetupTime的实战配置技巧。通过STM32F407连接SRAM的实际案例,提供从理论计算到CubeMX配置的全流程指南,帮助开发者避免常见时序陷阱,确保稳定通信。

nginx7reverse的博客 81

原生js操作ajax基本操作

原生js操作ajax基本操作 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AJAX GET 请求</title> <style>

407指导员 622

CRaxsRat v7.6 安装与使用教程(附工具下载)

摘要:本文介绍远程管理工具CRaxsRat v7.6的合法应用与基本操作,强调仅限授权环境使用。该工具支持多客户端管理、TLS加密及文件/进程控制等功能,适用于内网维护与安全测试。安装需Windows 10/11系统及.NET 4.8,步骤包括解压运行、配置监听端口及生成客户端。文中提醒防火墙设置与杀软误报问题,并重申禁止非法用途,建议在虚拟机或隔离环境学习使用。

lzj781210的博客 3787

EEG/ERP新手必看:5本神经科学入门书籍推荐(附高清PDF下载)

本文为EEG/ERP研究新手推荐5本神经科学入门书籍,涵盖认知神经科学、数据分析、ERP技术等核心内容。特别推荐《认知神经科学—关于心智的生物学》和《事件相关电位基础》,这些书籍不仅提供理论框架,还包含实用案例和MATLAB代码,帮助研究者快速掌握脑电研究技术。附高清PDF下载,适合实验室小组学习。

weixin_29210727的博客 444

AJAX实现简单get/post请求

AJAX可以让浏览器发送一种特殊的请求,这种请求可以是:异步的。什么是异步,什么是同步?假设有t1和t2线程,t1和t2线程并发,就是异步。假设有t1和t2线程,t2在执行的时候,必须等待t1线程执行到某个位置之后t2才能执行,那么t2在等t1,显然他们是排队的,排队的就是同步。AJAX是可以发送异步请求的。也就是说,在同一个浏览器页面当中,可以发送多个ajax请求,这些ajax请求之间不需要等待,是并发的。AJAX代码属于WEB前端的JS代码。

weixin_59528719的博客 5518

uniapp中renderjs实战:手把手教你实现SSE即时通讯(附完整代码)

本文通过一个完整的实战案例,详细讲解了如何在uni-app中使用RenderJS实现SSE即时通讯功能。文章剖析了RenderJS作为Vue视图层强力补充的原理,并提供了包含自动重连、状态管理等健壮性设计的完整代码,帮助开发者突破框架限制,高效集成浏览器原生API。

weixin_29005499的博客 188

Ajax get请求示例

正好早上有时间,代码: $.ajax({ type:'GET', url:'proinfo', data:data, success:function(result){ //返回成功进行响应操作 //把获取信息填...

MusicMan 1万+

HBase学习二:RegionServer详解

RegionServer是HBase系统中最核心的组件,主要负责用户数据写入、读取等基础操作。RegionServer组件实际上是一个综合体系,包含多个各司其职的核心模块:HLog、MemStore、HFile以及BlockCache。一个RegionServer由一个(或多个)HLog、一个BlockCache以及多个Region组成。其中,HLog用来保证数据写入的可靠性;BlockCache可以将数据块缓存在内存中以提升数据读取性能;

qwerty1372431588的博客 747

实验2 存储器设计与实现【计算机组成原理】

实验2 存储器设计与实现【计算机组成原理】

小心星的博客 2398

Ajax之get方式请求

ajax之get请求需要注意的两个地方:在url后边以请求字符串(传递的get参数信息)形式传递数据。对中文、=、&amp;等特殊符号处理对特殊信息的处理:在浏览器里通过get参数传递一些特殊符号信息会被误解混淆,例如&amp;、=等;为了避免特殊符号被误解产生歧义,需要对其进行编码处理。同时如果传递get参数中文信息,也需要进行编码处理。在php里边可以通过函数urlencode()/urlde...

杜小白的博客 6073

qt医疗信息系统(HIS)

**UI 组件**: QWidget、QTextBrowser、QTableWidget、QGraphicsView 等。- **网络通信**: Qt Network (TCP/IP)- **DICOM 处理**: DCMTK 3.6.7。- **数据库**: SQLite (轻量、跨平台)**数据库文件**: `hospital.db`- **开发框架**: Qt 6 (C++)- 医疗影像 (DICOM) 查看器。**医疗影像 (DICOM) 查看器****电子病历 (EMR) 浏览器**

寒寒豆豆软件公司的博客 336

Ajax的get请求

AJAX的操作步骤 GET请求 创建 xhr 对象 创建请求 - open() 设置回调函数 - onreadystatechange 1.判断状态 2.接收响应 3.业务处理 发送请求 - send(null) GET请求 示例 以下代码中显示主要功能: 1. a 标签 跳转到新的页面(....../ajax/ajax/02-server/)显示 "这是server02的响应" 2. ...

python_god的博客 9726

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Ajax原生GET和POST请求及Jquery Ajax的GET和POST请求

Ajax原生GET请求接口: /** * 原生Ajax GET请求 */ function getOrigantAjaxGet() { var oAjax = null; //这里进行HTTP请求,创建异步对象 try { oAjax = new XMLHttpRequest(); } catch (e) { oAjax ...

持续学习中 3436

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Ajax--》Ajax的GET与POST请求操作

🏃‍♂️Ajax全称 Asynchronous JavaScript And XML,意思就是异步的JS 和 XML,通过Ajax可以在浏览器中向服务器发送异步请求。作用:获取服务器数据。效果在不刷新整个页面的情况下,通过一个url地址获取服务器的数据,然后进行页面的局部刷新。Ajax不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。思想:用户看,我就加载,用户不看,我就不加载。应用场景:评论加载更多、用户名登录验证、搜索框搜索数据提示......

ztK63LrD的博客 4499

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Ajax请求get方式

Ajax GET请求方式 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>GET</title> </head> <body> <button id="app">点击发送请求</button> <div id="box"></div> <script

Codernmx 3110

Ajax-GET请求

Ajax的意思是:异步JavaScript和XML。 通俗的理解:在网页中利用XMLHttpRequest对象和服务器进行数据交互的方式,就是Ajax。 Ajax能让我们轻松实现网页与服务器之间的数据交互。 Ajax的底层实现主要是用到浏览器中提供的XMLHttpRequest对象用法比较复杂,所以jQuery对XMLHttpRequest进行了封装提供了一系列Ajax相关的函数,极大降低了Ajax的使用难度。 使用XMLHttpRequest发起GET请求 使用XMLHttpRequest(简称

廖若星辰-LTY 7174

Ajax-概述、XMLHttpRequest对象、AJAX GET请求、AJAX POST请求

本文深度解析传统请求痛点(页面刷新/体验割裂),详解AJAX核心XMLHttpRequest对象四步使用法(创建→回调→开启→发送),手写GET/POST请求解决缓存与数据提交难题,并附表单模拟实战代码。助你彻底掌握异步交互,实现页面无刷新更新!

m0_73941339的博客 1181

AJAX GET请求

发送AJAX get请求步骤 AJAX GET请求的缓存问题

忆亦何为的博客 1017

Ajax请求后端接口(GET、POST、轮询请求)

ajax是什么?post、get、每隔几秒

qq_41644069的博客 3万+

AJAX GET的请求

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AJAX GET 请求</title> <style> #result{ .

qq_39368007的博客 164

Ajax请求中post和get方法的区别 以及ajax的请求方式

AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。

m0_47106110的博客 1339

【03】AJAX发送get请求

/ 2.初始化,设置请求方法'get'和url'http://127.0.0.1:8000'readystate:是xhr对象中的属性,表示状态0 1 2 3 4。// 2xx 表示成功,所以status的范围是[200,300)// 判断响应状态码:200 401 403 500。// 4.事件绑定,处理服务端返回的结果。change:改变*///将响应体中的内容添加到文本框dd中。//将响应体中的内容添加到文本框dd中。// 判断(服务器返回的所有结果)//为按钮btn绑定单击事件。

hejuan___的博客 1399

AJAX——发送GET请求

ajax 知识点 express框架(ajax需要框架,需要先安装node) 右击vscode的文件夹空白部分,输入指令npm init --yes(初始化) 编写express.js代码,右键单击该文件夹,选择“集成终端中打开”,输入指令node js文件夹的名字 ajax请求基本操作 创建对象 初始化,设置请求方法和 url 发送 事件绑定,处理服务端返回的结果 发送get请求 编写相关express框架 // 1.引入express const { response } = require('

zx2014567296的博客 3526

发送ajax的get请求,AJAX之发送GET请求

用jquery发送get请求function AjaxSubmit1() {$.ajax({//用jQuery发送url: '/app04/ajax1/',type: 'GET',data: {'p':123},success:function () {}})}原生发送get请求function AjaxSubmit2() {//原生发送请求var xhr = new XMLHttpRequest...

weixin_39761647的博客 956
上一篇: MySql-8.0.26安装详细教程
下一篇: Express框架的基本使用
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值