3.2 使用 URL 类请求和提交数据详解

URL 类知识点详解 表示统一资源定位符(Uniform Resource Locator),用于标识和定位网络资源(如网页、文件、API接口)。 支持多种协议:HTTP、HTTPS、FTP、file(本地文件)等。 不可变类:一旦创建,内容不可修改(线程安全)。 阅读详情

点此进入:从零快速构建APP系列目录导图
点此进入:UI编程系列目录导图
点此进入:四大组件系列目录导图
点此进入:数据网络和线程系列目录导图

URL 对象代表统一资源定位器,它是这指向互联网“资源”的指针。这里面的“资源”可以是简单的文件和目录,也可以是对更复杂的对象的引用,例如:对数据库或者搜索引擎的查询。就通常情况而言,URL 可以由协议、名主机、端口和资源组成,即满足如下格式:

protocol://host:port/resourceName

例如如下的URL地址:

http://www.baidu.com/index.php

一、使用 URL 读取网络资源

URL类提供了多个构造器,用于创建 URL 对象,一旦获得 URL 对象之后,就可以调用如下常用的方法来访问 URL 所对应的资源了:
- String getFile():获取url的资源名。
- String getHost():获取url的主机名。
- String getPath():获取url的路径部分。
- int getPort():获取url的端口号。
- String getProtocol():获取url的协议名称。
- String getQuery():获取url的查询字符串部分。
- URLConnection openConnection():返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。
- InputStream openStream():打开与此 URL 的链接,并返回一个用于读取该 URL 资源的 InputStream。

1、使用 URL 读取网络资源

URL 对象中前面几个方法都非常容易理解,而该对象提供的 openStream() 可以读取该资源的 InputStream,通过该方法可以非常方便的读取远程资源。

首先我们修改 activity_main ,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.wgh.willflowurl.MainActivity">

    <ImageView
        android:id="@+id/action_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

很简单,这里面我们只放了一个图片控件ImageView,用于展示接下来 URL 在网上请求到的图片。

接下来修改 MainActivity 中的代码如下:
public class MainActivity extends AppCompatActivity {

    ImageView mImageView;
    // 代表从网络下载得到的图片
    Bitmap mBitmap;
    Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            if (msg.what == 0) {
                // 使用ImageView显示该图片
                mImageView.setImageBitmap(mBitmap);
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mImageView = (ImageView) findViewById(R.id.action_image);
        mImageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                getImageFromURL();
            }
        });
    }

    private void getImageFromURL() {
        new Thread() {
            public void run() {
                try {
                    // 定义一个URL对象
                    URL url = new URL("http://www.touxiang.cn/uploads/20131011/11-084718_797.jpg");
                    // 打开该URL对应的资源的输入流
                    InputStream inputStream = url.openStream();
                    // 从InputStream中解析出图片
                    mBitmap = BitmapFactory.decodeStream(inputStream);
                    // 发送消息、通知UI组件显示该图片
                    mHandler.sendEmptyMessage(0);
                    inputStream.close();
                    // 再次打开URL对应的资源的输入流
                    inputStream = url.openStream();
                    // 打开手机文件对应的输出流
                    OutputStream outputStream = openFileOutput("flower.png", MODE_PRIVATE);
                    byte[] buff = new byte[1024];
                    int hasRead = 0;
                    // 将URL对应的资源下载到本地
                    while ((hasRead = inputStream.read(buff)) > 0) {
                        outputStream.write(buff, 0, hasRead);
                    }
                    inputStream.close();
                    outputStream.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }
}

首先,我们找到将XML文件中定义的图片控件,然后给他添加点击监听器。在点击事件里我们调用 getImageFromURL() 方法,以此来获取网络资源。在这个方法中,我们首先定义一个URL对象,然后打开该URL对应的资源的输入流,接着发送消息、通知UI组件显示该图片,最后将URL对应的资源下载到本地。

最后,我们在清单文件中加入以下网络申请权限:

<uses-permission android:name="android.permission.INTERNET" />
编译运行看效果:

二、使用 URLConnection 提交请求

URL 的 openConnection() 方法将返回一个 URLConnection 对象,该对象表示应用程序和 URL 之间的通信连接。我们的程序可以通过 URLConnection 向该 URL 发送请求,读取他的引用资源。

读取 URL 引用资源的步骤:

1、设置 URL 对象的 openConnection() 方法来创建 URLConnection 这个对象。
2、设置 URLConnection 的参数和普通请求属性。
3、如果只是发送 GET 的方式的请求,那么使用 connect 方法建立和远程资源之间的实际连接即可;如果是发送 POST 的方式的请求,那么使用 URLConnection 实例对应的输出流来发送请求参数。
4、远程资源变为可用,这时程序可以访问远程资源的头字段或通过输入流读取远程资源的数据。

设置请求字段的常用方法:
  • setAllowUserInteraction():设置该 URLConnection 的 allowUserInteraction 请求字段的值。
  • setDoInput():设置 URLConnection 的 DoInput 请求字段的值。
  • setDoOutput():设置 URLConnection 的 DoOutput 请求字段的值。
  • setIfModifiedSince():设置 URLConnection 的 IfModifiedSince 请求字段的值。
  • setUseCaches():设置 URLConnection 的 UseCaches 请求字段的值。
  • getInputStream():返回 URLConnection 的输入流,用于获取响应内容。
  • getOutputStream():返回 URLConnection 的输出流,用于向 URLConnection 发送请求参数。
  • getContentEncoding():获取 URLConnection 的 ContentEncoding 请求字段的值。
  • getContentLength():获取 URLConnection 的 Length 请求字段的值。
  • getContentType():获取 URLConnection 的 Type 请求字段的值。
  • getDate():获取 URLConnection 的 Date 请求字段的值。
  • getExpiration():获取 URLConnection 的 Expiration 请求字段的值。
  • getLastModified():获取 URLConnection 的 LastModified 请求字段的值。

下面我们就通过一个例子来展示如何向站点发送请求,并从站点取得响应。

首先,我们创建一个工具类,代码如下:
/**
 * Created by   : WGH.
 */
public class GetPostUtil {
    /**
     * 向指定URL发送GET方法的请求
     *
     * @param url    发送请求的URL
     * @param params 请求参数,请求参数应该是name1=value1&name2=value2的形式。
     * @return URL所代表远程资源的响应
     */
    public static String sendGet(String url, String params) {
        String result = "";
        BufferedReader bufferedReader = null;
        try {
            String urlName = url + "?" + params;
            URL realUrl = new URL(urlName);
            // 打开和URL之间的连接
            URLConnection conn = realUrl.openConnection();
            // 设置通用的请求属性
            conn.setRequestProperty("accept", "*/*");
            conn.setRequestProperty("connection", "Keep-Alive");
            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
            // 建立实际的连接
            conn.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = conn.getHeaderFields();
            // 遍历所有的响应头字段
            for (String key : map.keySet()) {
                Log.i(TAG, "key : " + key + " --> " + map.get(key));
            }
            // 定义BufferedReader输入流来读取URL的响应
            bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                result += "\n" + line;
            }
        } catch (Exception e) {
            Log.e(TAG, "发送GET请求出现异常!" + e);
            e.printStackTrace();
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (bufferedReader != null) {
                    bufferedReader.close();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        return result;
    }

    /**
     * 向指定URL发送POST方法的请求
     *
     * @param url    发送请求的URL
     * @param params 请求参数,请求参数应该是name1=value1&name2=value2的形式。
     * @return URL所代表远程资源的响应
     */
    public static String sendPost(String url, String params) {
        PrintWriter printWriter = null;
        BufferedReader bufferedReader = null;
        String result = "";
        try {
            URL realUrl = new URL(url);
            // 打开和URL之间的连接
            URLConnection conn = realUrl.openConnection();
            // 设置通用的请求属性
            conn.setRequestProperty("accept", "*/*");
            conn.setRequestProperty("connection", "Keep-Alive");
            conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
            // 发送POST请求必须设置如下两行
            conn.setDoOutput(true);
            conn.setDoInput(true);
            // 获取URLConnection对象对应的输出流
            printWriter = new PrintWriter(conn.getOutputStream());
            // 发送请求参数
            printWriter.print(params);  // ②
            // flush输出流的缓冲
            printWriter.flush();
            // 定义BufferedReader输入流来读取URL的响应
            bufferedReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                result += "\n" + line;
            }
        } catch (Exception e) {
            Log.e(TAG, "发送POST请求出现异常!" + e);
            e.printStackTrace();
        }
        // 使用finally块来关闭输出流、输入流
        finally {
            try {
                if (printWriter != null) {
                    printWriter.close();
                }
                if (bufferedReader != null) {
                    bufferedReader.close();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        return result;
    }
}

从上面的程序我们可以看出,如果需要发送GET请求的话,只需要调用URLConnection的connect()这个方法就可以建立实际的连接,而如果需要发送POST请求的话,则需要获取URLConnection的输出流,然后在向网络中的输出流写入请求参数。

提供了这个工具类之后,接下来就可以在MainActivity当中进行使用了,使用的方法也很简单,就是调用这个类当中相应的请求方法并输入对应格式的请求参数即可,比如GET请求可以这样输入:

response = GetPostUtil.sendGet("http://192.168.1.88:6666/abc/a.jsp", null);

而POST请求可以这样输入:

response = GetPostUtil.sendPost("http://192.168.1.88:6666/abc/login.jsp", "name=willflow.org&pass=123456");

这样我们就可以拿到响应的字符串 response 来做之后的操作,比如UI显示等,而显示所用到的方法和上一个例子是一样的,我们这里就不过多做赘述了。

点此进入:GitHub开源项目“爱阅”,下面是“爱阅”的效果图:


联系方式:

简书:WillFlow
优快云:WillFlow
微信公众号:WillFlow

微信公众号:WillFlow

008-POST请求与数据提交 """自定义multipart数据"""# 创建自定义multipart数据fields={# 文本字段# 文件字段# 二进制数据# 发送请求print("自定义multipart数据:") 阅读详情

相关推荐

Spring Boot与Apache Ignite集成:构建高性能分布式缓存和计算平台

Apache Ignite是一个高性能的分布式内存计算平台,支持内存缓存、分布式计算、流处理和机器学习等功能。它提供了低延迟的数据访问和强大的计算能力,适用于需要高性能和可扩展性的应用。将Apache Ignite集成到Spring Boot应用中,可以显著提高应用的性能和可扩展性。Spring Boot的简单配置和Ignite的强大功能相结合,使得开发和部署更加高效。首先,创建一个新的Spring Boot项目。可以通过Spring Initializr(https://start.spring.io/)

九天的专栏 2142

利用URL地址实现页面间传输数据和获取数据

利用URL地址实现页面间传输数据和获取数据,我们两种方法进行传值: 1 a标签中设置href在url上存放数据,里面的数据以key-value方式存储2 通过window.location.href="url" 我们可以通过location.search方法

m0_63975764的博客 5152

告别ArcGIS小红叉:从‘无法验证登录信息’到成功连接在线资源的完整排错记录

本文详细记录了从Windows便签的网络错误到ArcGIS连接问题的完整排错过程。通过分析代理服务器、DNS配置和系统网络设置,解决了ArcGIS无法验证登录信息的问题,提供了实用的网络优化方案和技术排错思路。

weixin_26800111的博客 390

layui数据表格url是什么

layui数据表格url是数据接口,用来接收数据的,其中LayUI数据表格URL默认为Get请求,语句格式如“URL:'sypaysrhlist.aspx?action=...'”。 本教程操作环境:Windows7系统、layui2.4版,该方法适用于所有品牌电脑。 推荐:《javascript基础教程》《layUI教程》 URL是数据接口,用来接收数据的 LayUI数据表格URL默认Get请求 aspx请求cs url:请求链接; method:以何种方式请求; where:请求参数 ...

fd746的博客 403

基于Java+Maven+Testng+RestAssured+Allure+Jenkins搭建一个接口自动化框架

2、有一个提取表达式列,通过编写每个接口的JSON提取表达式,后边在解析Excel时,对接口执行后的响应数据用该表达式提取出来,保存到环境变量,如果某些接口需要前置接口的响应数据,我们就可以从环境变量中获取该数据出来,从而解决了接口关联的问题。1、在之前介绍过全局配置类Contants中添加一个控制台日志开关控制权限,如果选择为false,则控制台不输出日志,将日志输出到allure报表,选择为true,则在控制台输出日志,不输出到allure报表。

专注于技术分享的博主 1185

InfiniteTalk (Wan2.1) 数字人 A800 落地实战:从依赖地狱到完美运行的保姆级指南

摘要:本文详细记录了在A800(80GB)服务器上部署InfiniteTalk开源数字人项目的完整流程。该项目基于阿里Wan2.1视频生成模型,支持无限时长流式生成,但环境配置极其复杂。作者总结了18个关键问题点,包括Python版本冲突、CUDA算子缺失等,并提供了黄金配置方案:使用Python3.10+PyTorch2.5.1环境,精准控制FlashAttention等核心库版本,以及针对A800的显存优化策略。最终实现480P视频30秒/步的生成速度,相比默认配置提升3.7倍性能。

软件工程师文艺 2043

url 传递参数(特殊字符)解决方法

首先设置 apache 配置文件, server.xml 在 port=8080 那一行中加上 URIEcoding=GBK 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。下表中列出了一些URL特殊符号及编码       十六进制值 1. + URL 中+号表示空格 %2B 2. 空格

hejisan的专栏 5万+

智能挂锁软件需求规格说明书(SRS)

智能挂锁系统SmartPadlockV1.0是一款融合蓝牙通信、指纹识别和远程控制技术的便携式安防设备。系统由设备端、移动App和云平台三部分组成,支持蓝牙配对(10米内)、指纹识别、OTP一次性密码等多种开锁方式,响应时间<1.5秒。产品采用SM2/SM4加密技术保障安全,日均20次使用下续航达180天,兼容iOS13+/Android8.0+系统。功能包括设备绑定、远程授权、开锁记录查询和OTA固件升级,符合个人信息保护法规要求,适用于仓储、快递柜等多场景应用。

moton2017的博客 2112

地址栏获取url参数及在url后添加参数

地址栏获取url参数及在url后添加参数 const ind = Request('solutionsInd'); let newurl = updateQueryStringParameter(window.location.href, 'solutionsInd', ind); window.history.replaceState({ path: newurl }, '', newurl); function updateQueryString

Sunny的博客 3244

ESD防护设计宝典(十一):CE(传导发射)超标问题排查与解决

(Conducted Emission, CE),亦称为传导骚扰,是电子电气设备或系统内部的电压、电流通过信号线、电源线或地线向外传输,对其他电子电气设备或系统造成电磁干扰的物理现象。其。

m0_56451176的博客 857

海康Visionmaster-通讯管理:ModBus 通信发送非整型 数据的方法

海康Visionmaster-通讯管理:ModBus 通信发送非整型 数据的方法

视觉人机器视觉的博客 1742

Java网络编程

1、URL类 URL类是java.net包中的一个类,使用URL创建对象的应用程序称为客户端程序。一个URL对象封装着一个具体的资源的引用,表明客户要访问这个URL中的资源,客户利用URL对象可以获取URL中的资源。 一个URL对象通常包含最基本的三部分信息:协议、地址和资源。协议必须是URL对象所在的Java虚拟机支持的协议,许多协议并不为我们所常用,而常用的Http、Ftp、File协议都是虚拟机支持的协议;地址必须是能连接的有效IP地址或域名;资源可以是主机上的任何一个文件。 1、URL的构造方法 p

m0_52653999的博客 286

YOLOv10改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型

本文记录的是基于MobileNet V3的YOLOv10目标检测轻量化改进方法研究。的模型结构是通过得来的,其中的基础模块结合了的深度可分离卷积、的线性瓶颈和倒置残差结构以及MnasNet中基于挤压和激励的轻量级注意力模块,使模型在性能、效率和灵活性方面都具有显著的优势。本文在替换骨干网络中配置了原论文中的small和large2种模型,以满足不同的需求。

Limiiiing的博客 515

GET请求和POST请求详述

GET请求和post请求一、GET请求1、什么是GET请求2、使用GET方法的具体情况3、GET方式提交数据特点二、POST请求1、什么是POST请求2、使用POST方法的具体情况3、POST方式提交数据特点:三、GET请求和POST请求的区别         我们知道,HTTP是超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议。举个简单的例子: 客户端(浏览器)向服务器 提交HTTP请求,服务器收集到请求后向客户

m0_48375854的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

跨域请求之URL类篇

       前面有篇博文介绍了java的URL类跨域请求,但是介绍的不是很完整,所以决定重新写篇博文详细介绍一下java的URL类。附实际案例之前首先说一些关于http协议的内容。1. GET请求与POST请求 GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&amp;相连。GET请求发送的参数如果数据是英文字母或数字,则按原样发送,如果...

astrologer_的博客 1806

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

模拟 AJAX 提交 form 表单及请求头设置详解

场景不使用 encodeURIComponent ()使用 encodeURIComponent ()参数包含空格空格被转换为(部分浏览器)或保留为空格(可能导致错误)空格被编码为%20,所有服务器都能正确解析参数包含 & 符号服务器将其解析为参数分隔符,导致参数拆分错误& 被编码为%26,作为参数值的一部分被正确传递参数包含 = 符号服务器将其解析为键值对分隔符,导致参数结构混乱= 被编码为%3D,作为参数值的一部分被正确传递参数包含非 ASCII 字符。

m0_73941339的博客 2067

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

(基础)AJAX概念和axios使用、URL、请求方法和数据提交、HTTP协议、接口、form-serialize插件

AJAX就是使用XMLHttpRequest对象与服务器通信,它可以使用JSON、XML、HTML和text文本等格式发送和接收数据,AJAX最吸引人的就是它的异步特性,也就是说它可以在不重新刷新页面的情况下与服务器通信,交换数据或更新页面。

m0_51195865的博客 1586

Vue3实践之全局请求URL配置和请求参数说明

1、首先需要导入router和axios2、创建app,将router挂载到app上3、设置全局请求路径以及4、在vue中使用。

wsb_2526的博客 3035

AJAX 入门 day1 ajax介绍、axios使用、URL、请求方法、数据提交、HTTP协议-报文

1.AJAX 概念和 axios 使用“Ajax” 是 “Asynchronous(异步) JavaScript and XML” 的缩写,是一种用于创建动态网页的技术。它允许网页在不重新加载整个页面的情况下与服务器进行交互和更新内容,从而提高用户体验和页面的响应速度。怎么用 AJAX?1.先使用axios[æk‘sioʊs]库,与服务器进行数据通信基于 XMLHttpRequest 封装、代码简单、月下载量在 14 亿次Vue、React 项目中都会用到 axios2.

2301_77358195的博客 1205

HTTP 中 POST 提交数据的四种方式详解

HTTP 中 POST 提交数据的四种方式详解 首先说一下为什么写这篇文章,以前写客户端的时候,要经常调用后端的接口,一般很多公司的接口,都是统一 POST 提交方式 服务端响应的是 JSON 格式字符串,方便统一管理,当时对 POST 不太清楚,开始的时候,不觉得有啥 但是真正等到自己写一个独立的技术社区的时候,也就是www.helloworld.net,需要上传,需要表单提交等 才发现,不懂这些,用到了的时候,很是费劲,很耽误时间。 下面就当是复习了,学习一下GET,POST这两种最常用的

APItesterCris的博客 3万+

使用代码模拟请求和提交网页数据

通过程序代码去模拟请求和提交网页表单数据,这里我使用的是一个登录方法。代码如下: HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(@http://www.tempuri.com/checkLogin); stringparms=string.Format("txtUser={0}&txtPass={1}&amp...

weixin_33724659的博客 715

android 请求url,Android使用URLConnection提交请求的实现

URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和URL之间的通信连接。程序可以通过URLConnection实例向该URL发送请求,读取URL引用的资源。通常创建一个和URL的连接,并发送请求、读取此URL引用的资源需要如下几个步骤:Step1: 通过调用URL对象的openConnection()方法来创建URLConnection对象;...

weixin_36174545的博客 509

get方式提交请求和post方式提交请求

(1)get方法是从服务器上获取资源;post方法是向服务器传送数据 在地址栏中输入网址并显示网页,应该使用GET方法。 点击超级链接也是使用GET方法。 填写完表单内容,点击提交,可能是GET也可能是POST(在HTML源代码中,表单属性会指定使用哪一种该方法来发送请求),仅仅提交不要求返回什么东西就是POST,提交之后还要返回东西那就是GET 即:双向(有来有回)是get 单向(有去无回)是post (2)浏览器向Web服务器发送请求消息的三种情况: 1.在地址栏输入....

weixin_47414034的博客 4261

Java 什么是URL?及URL类和URLConnection类

在 Java 的 API 中的 java.net 包中包含一个 URL 类和一个 URLConnection 类。下面介绍这两个类的相关知识。 URL 概念 URL 是统一资源定位符(Uniform Resource Locator)的简称,它表示 Internet 上某一资源的地址。通过 URL 用户可以访问各种网络资源,比如常见的 WWW 以及 FTP 站点。浏览器可以通过解析给定的 UR...

jijiangpeng的博客 1050

get和post请求的区别以及post请求的url参数问题

2、请求体中的参数(Request Body Parameters):在POST请求中,请求体中的参数通常用于传递更复杂的或大量的数据,例如JSON、XML等格式的数据。1、URL中的参数(Query Parameters):在POST请求中,URL中的参数通常用于传递简单的键值对数据。PUT方法通常用于向服务器发送请求,如果URI不存在,则要求服务器根据请求创建资源,如果存在,服务器就接受请求内容,并修改URI资源的原始版本。由于参数位于请求体中,因此相对于URL中的参数,更安全且能够传递更大量的数据。

Zing_ing的博客 1899

Nuxt3【详解】请求接口,获取数据

Nuxt 中进行HTTP调用的首选方式缺陷:不会提供网络请求重复和导航阻止// 在SSR中数据将被获取两次,一次在服务器端,一次在客户端。constawait$fetch</适用场景:提交数据到事件处理程序在客户端逻辑中使用function$fetchmethod'POST'bodyhello'world '</</</与 useAsyncData 结合使用。

朝阳39的博客 3420
上一篇: 3.1 使用 HTTP 访问网络的两种方式详解
下一篇: 3.3 基于 Socket 协议的网络通信详解
WillFlow
博客等级 码龄11年 61粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值