如何用post的方式进行eventSource请求

这篇具有很好参考价值的文章主要介绍了如何用post的方式进行eventSource请求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们平时的工作中可能需要和服务端建立链接,从而来接受服务端推送的数据,常用的就是eventSource,我们平时常用的就是通过get的方式创建一个eventSource,但是我们如何通过post的方式创建呢?首先我们介绍一下eventSource,还有他和websocket的区别:

1.eventSource的介绍

1)eventSource 是一个 Web API,它允许网页通过 HTTP 长连接(通常称为 Server-Sent Events (SSE))从 Web 服务器接收自动更新。它使网页可以接收实时更新,而无需刷新页面或向服务器发送重复请求。

2)使用 eventSource,网页可以订阅从服务器发送的事件流。这些事件可以是任何格式,例如纯文本、JSON 或 XML,并且可以包含服务器想要发送的任何数据。一旦建立连接,服务器可以随时向客户端发送事件,客户端可以根据需要处理它们,例如更新 UI 或触发其他操作。

3)eventSource API 使用简单,并且受到大多数现代 Web 浏览器的支持。它通常用于需要实时更新的 Web 应用程序,例如聊天室、社交媒体提要或股票市场行情。

2.eventSource和websocket的区别:

1)协议不同:WebSocket 使用的是一种双向通信协议,而 eventSource 使用的是一种单向通信协议。WebSocket 协议可以在客户端和服务器之间建立一个长连接,双方可以同时发送和接收消息,而 eventSource 只能由服务器向客户端发送消息。

2)数据格式不同:WebSocket 可以发送任何格式的数据,例如文本、二进制数据或 JSON,而 eventSource 只能发送文本格式的数据。

3)支持程度不同:WebSocket 是一种相对较新的技术,在一些旧的浏览器或网络环境下可能不被支持,而 eventSource 已经被广泛支持,可以在大多数现代浏览器中使用。

4)应用场景不同:WebSocket 更适合那些需要实时双向通信的应用,例如在线游戏或视频会议,而 eventSource 更适合那些需要从服务器获取实时信息的应用,例如股票行情或新闻推送。

3.如何用post的方式请求eventSource,常用的就是通过fetchEventSource这个库来实现,实现方式如下:

npm i --save @rangermauve/fetch-event-source


import { fetchEventSource } from '@microsoft/fetch-event-source';


       let eventSource = fetchEventSource(Url, {
        method: 'POST',
        headers: {
          "Content-Type": 'application/json',
        },
        body: JSON.stringify(data),
        onmessage(event) {
          console.info(event.data);
        },
        onerror() {
          
        }
      })

可以通过new   AbortController 来控制何时暂停 文章来源地址https://www.toymoban.com/news/detail-403140.html

到了这里,关于如何用post的方式进行eventSource请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java业务代码发送http请求(Post方式:请求参数为JSON格式;Get方式)

    实际开发中,可能需要发送http请求到第三方服务获取数据,于是就有以下应用: 依赖: 假设我需要在我的业务代码中调用该地址: url:http://xx.xx:xxxx/user/count 请求方法:post 内容类型:application/json 请求参数:id, username 返回参数:code 响应结果 int类型                  

    2024年02月12日
    浏览(61)
  • HTTP中get和post请求方式

    #get和post特点 get请求: 请求参数在请求地址后面,提交的数据量较小,安全性较差,不建议用来提交敏感信息(地址栏中会显示,并且有可能被保存请求地址)。 功能:GET 方法用于获取由 Request-URI 所标识的资源的信息 默认方法: GET方法是默认的HTTP请求方法 ,例如当我们

    2024年04月26日
    浏览(46)
  • 使用postman提交post方式的表单请求

    这里请求路径是测试数据库的,本地调试的话要换成自己的host和ip

    2024年02月12日
    浏览(54)
  • Java 中使用 OkHttpClent 请求接口 get方式 post方式

    学习记录,不喜勿喷 一般在Java平台上,我们会使用Apache HttpClient作为Http客户端,用于发送 HTTP 请求,并对响应进行处理。比如可以使用http客户端与第三方服务(如SSO服务)进行集成,当然还可以爬取网上的数据等。OKHttp与HttpClient类似,也是一个Http客户端,提供了对 HTTP/2 和

    2024年02月12日
    浏览(58)
  • http之GET请求和POST请求的传递参数的方式

    get: 情况1:接口正常返回 code,data,message ,且无需传递参数 (vu3) 情况2: 需要将参数拼接到url地址上 (vue3)   情况3 需要传递参数,query 传参 (vue3) 情况4 既有query传参也有path传参 post 情况1 接口返回的数据没有使用data包裹,这种情况一般取不到数据,我们需要用 ext

    2024年02月16日
    浏览(44)
  • QT进行http请求(post/get)

    在刚接触QT时第一个任务就是进行http请求,现在才开始记录,可能会有遗漏的点。 一、post请求 在.pro文件中 在.h文件中添加对应的头文件 在.cpp中 二、get请求 .pro和.h文件和post请求一样,在.cpp中

    2024年02月11日
    浏览(47)
  • axios的post请求所有传参方式

    Axios支持多种方式来传递参数给POST请求。以下是一些常见的方式: 作为请求体: 你可以将参数作为请求体的一部分,通常用于发送表单数据或JSON数据。例如: 作为URL参数: 你可以将参数作为URL的一部分,通常用于RESTful风格的API。例如: 作为查询字符串参数: 你可以将

    2024年02月04日
    浏览(36)
  • RestTemplate进行post请求调用需要注意的坑

            项目上需要写一个大屏批量、定时调用接口的websocket,为了方便,决定使用spring自带的RestTemplate来完成http请求。get请求时,没那么多需要注意的地方。但在post请求时出现了问题。 先来看一下post请求的代码实例 跟踪代码发现  查了一下MultiValueMap的说明发现了此问

    2024年02月12日
    浏览(52)
  • RestTemplate.postForEntity 方法进行 HTTP POST 请求

    RestTemplate 是 Spring Framework 提供的一个用于处理 HTTP 请求的客户端工具。其中,postForEntity 是 RestTemplate 提供的用于发送 HTTP POST 请求并返回 ResponseEntity 对象的方法。 url(String):HTTP POST 请求的目标URL。 request(Object):要发送的请求体数据,通常是一个对象,它将被转换为请

    2024年02月03日
    浏览(50)
  • postman—post方式几种请求格式的区别

    文章目录 前言 一、multipart/form-data与x-www-form-urlencoded区别 二、使用时的一些细节 三、传参注意点总结(关于发送请求传入参数) 总结 介绍了postman中,常用的几种数据传参的特点。 multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包