借用jQuery发送Http请求的实现(内附源码)

news2024/11/13 19:16:52

文章目录

    • 一、前言
    • 二、jQuery 介绍
    • 三、jQuery 下载
    • 四、jQuery 使用
    • 五、Http客户端DEMO实现


一、前言


最近在解决项目上前同事开发的视频播放器问题,视频播放器是用Qt开发,作为播放插件供Web调用。

播放器与Web的通信方式采用的是Http,数据格式为Json,播放器插件收到Web发送的播放请求后,会根据接收到的视频播放参数播放对应设备的实时视频或录像。

为了更快地定位现场问题,我打算让现场使用Http工具模拟Web前端发送请求给视频播放器插件。
postman,大家应该都比较熟悉,这个工具咱们平时开发调试时用的比较多,不过因为受限于现场环境,第三方工具不能安装在项目上。

于是决定自己动手写个简单的http客户端工具,一开始想到使用Qt+curl开发个简单的界面工具,之所以要带界面主要是考虑现场人员操作的便利性。但结合问题点涉及到谷歌浏览器版本的兼容性,所以单以简单的界面工具并不能很好地模拟生产环境、定位问题。最后,经过考量,使用 jQuery 实现。


二、jQuery 介绍


jQuery是一个快速、简洁的JavaScript框架。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。jQuery 极大地简化了 JavaScript 编程。

jQuery封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。


语言特点

  • 快速获取文档元素
  • 提供漂亮的页面动态效果
  • 创建 AJAX 无刷新网页
  • 提供对 JavaScript 语言的增强
  • 增强的事件处理
  • 更改网页内容


jQuery核心特性

  • 具有独特的链式语法和短小清晰的多功能接口;
  • 具有高效灵活的CSS选择器,并且可对CSS选择器进行扩展;
  • 拥有便捷的插件扩展机制和丰富的插件。

三、jQuery 下载


jQuery官网地址: https://jquery.com/

打开官网,即可看到jQuery的下载按钮,点击进入下载页面。有两个版本的jQuery可以下载:

  • Production version - 用于实际的网站中,是已经被精简和压缩过的jQuery文件。
  • Development version - 用于测试和开发中,是未压缩的jQuery文件,可以方便阅读源码。
    在这里插入图片描述
    在这里插入图片描述

四、jQuery 使用


引用jQuery有2种方式,包括 离线引用在线引用


1. 离线引用

离线引用,首先需要下载jQuery文件到本地,然后在HTML中使用引入jQuery,比如我们的jQuery文件为 jquery-3.7.0.js,引用示例如下:

<head>
	<script src="jquery-3.7.0.js"></script>
</head>


需要注意的是,script src引用文件的时候需要加上文件路径。
上面省略了路径是因为jquery-3.7.0.js与DEMO在同一目录下:
在这里插入图片描述


2. 在线引用

在线引用,简单的说是使用CDN(内容分发)的方式引用jQuery(要求联网)。

常见的CDN有:

//Google CDN
<head>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
	</script>
</head>

//百度CDN
<head>
	<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
	</script>
</head>

//新浪CDN
<head>
	<script src="https://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js">
	</script>
</head>

//Staticfile CDN
<head>
	<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
	</script>
</head>

//Microsoft CDN
<head>
	<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-1.9.0.min.js">	
	</script>
</head>

//又拍云 CDN
<head>
	<script src="https://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.2.min.js">
	</script>
</head>


五、Http客户端DEMO实现


1. DEMO界面

在这里插入图片描述

2. DEMO源码

<!DOCTYPE html>
<html>
	<head>
	<meta charset="utf-8">
	<title>VideoPlayer调试工具</title>
	<script src="jquery-3.7.0.js">
	</script>
	<script>
	$(document).ready(function(){
		$("#btn-play").click(function(){
			 $.ajax({
				type: "POST",
				url: "http://127.0.0.1:8090/video/play",
				contentType: "application/json; charset=utf-8",
				data: '{"devID": "123456","streamType": 1}',
				dataType: "json",
				success: function (message) {
					if (message > 0) {
					//	alert("请求已提交!");
					}
				},
				error: function (message) {
					//alert("请求提交失败!"+ message);
				}
			}); 
		});
		
		$("#btn-miniplayer").click(function(){
			 $.ajax({
				type: "POST",
				url: "http://127.0.0.1:8090/video/minShow",
				contentType: "application/json; charset=utf-8",
				data: '{"mode": 0}',
				dataType: "json",
				success: function (message) {
					if (message > 0) {
					//	alert("请求已提交!");
					}
				},
				error: function (message) {
					//alert("请求提交失败!"+ message);
				}
			}); 
		});
		
		$("#btn-getversion").click(function(){
			 $.ajax({
				type: "POST",
				url: "http://127.0.0.1:8090/video/getVersion",
				contentType: "application/json; charset=utf-8",
				data: '{"devID": "123456","streamType": 1}',
				dataType: "json",
				success: function (message) {
					if (message > 0) {
					//	alert("请求已提交!");
					}
				},
				error: function (message) {
					//alert("请求提交失败!"+ message);
				}
			}); 
		});
	});

	</script>
	</head>
	<body>

	<div id="div1"><h2>VideoPlayer调试工具</h2></div>
	<button id="btn-play">播放视频</button>
	<button id="btn-miniplayer">最小化播放器</button>
	<button id="btn-getversion">获取播放器版本信息</button>

	</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/675223.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

libevent(1)windows下安装libevent

Socket通信库libevent成熟、稳定、性能高&#xff0c;在unix和windows下都能使用&#xff0c;在证券交易领域也有不少成功的应用&#xff0c;已经用事实证明是非常棒的socket通信库。对我们目前交易系统的unix重构来说&#xff0c;是比较合适的选择 –– 坑少、在证券交易项目中…

Colors颜色代码对应表 | 常见颜色值的中英文对照及颜色值代码表Hex代码RGB代码

颜色代码对应表_颜色代码表大全——最全的颜色代码以及对应图片 Hex代码 RGB代码 关于颜色的英文&#xff0c;不仅仅有七个...... 一、常用颜色的英文名称&#xff1a; redcrimsonfirebrickdarkredbrownmaroonsiennasaddlebrownindianredrosybrownlightcoralsalmondarksalm…

壳牌小程序笔记

壳牌加油站 uni-app-基础-day01 概览 为什么要学uni-app&#xff1f; 现在很多中小型公司&#xff0c;都有自己的小程序项目&#xff0c;然后开发小程序就会用到uni-app。 uni-app没有诞生之前&#xff0c;怎么写小程序 使用原生微信小程序这个框架去开发&#xff1f; 只…

matplotlib---绘制折线图

1. 折线图 绘制一条线&#xff1a; plot函数来绘制折线图。下面是对各个参数的解释&#xff1a; x&#xff1a;要绘制折线图的x轴数据。y&#xff1a;要绘制折线图的y轴数据。c&#xff08;可选&#xff09;&#xff1a;指定折线的颜色。默认为蓝色&#xff08;"b"…

三模块七电平级联H桥整流器电压平衡控制策略仿真

三模块七电平级联H桥整流器电压平衡控制策略MATLAB仿真资源-CSDN文库https://download.csdn.net/download/weixin_56691527/87934753模型简介&#xff1a; MATLAB2021b 采用三模块七电平级联H桥整流器仿真&#xff0c;采用电压电流双闭环控制&#xff0c;电流环采用PR控制&am…

「团建活动」无锡某企业2023拓展培训

如何让新员工快速融入集体&#xff0c;自发成长&#xff0c;一次次有效团建。 ➡️明确团队目标&#xff0c;提高处理问题的效率和能力&#xff0c;互相配合&#xff0c;更好完成任务 &#xff1b; ➡️协调个人与团队的关系&#xff0c;增进情感&#xff1b; ➡️激励团队&…

深度学习时间序列预测项目案例数据集介绍

💥项目专栏:【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码+数据集+原理介绍) 一、数据集介绍 🌈 本专栏使用的数据集为 风速预测的时间序列数据,该数据集包含一个气象站内嵌入的5个天气变量传感器阵列的 6574 个每日平均样本。该设备…

rabbitmq第一课-rabbitmq的快速安装以及核心概念

一、MQ介绍 1.什么是MQ&#xff1f;为什么要用MQ&#xff1f; 消息队列是一种在应用程序之间传递消息的技术。它提供了一种异步通信模式&#xff0c;允许应用程序在不同的时间处理消息。消息队列通常用于解耦应用程序&#xff0c;以便它们可以独立地扩展和修改。在消息队列中…

LNMP架构搭建实操

目录 一、安装Nginx服务 1.安装依赖包 2.创建Nginx运行用户 3.编译安装Nginx源码包 4.优化路径便于使用 5、添加 Nginx 系统服务 二、安装Mysql服务 1.安装Mysql环境依赖包 2.创建Mysql运行用户 3.编译安装 4.修改mysql配置文件 5.更改mysql安装目录和配置文件的属…

ArduPilot开源代码之AP_Logger

ArduPilot开源代码之AP_Logger 1. 源由2. Logger类2.1 Copter初始化2.2 Copter任务 3. 实例理解3.1 Copter设备应用任务3.1.1 Copter::ten_hz_logging_loop3.1.2 Copter::twentyfive_hz_logging 3.2 AP_Logger应用类任务3.2.1 AP_Logger::periodic_tasks3.2.2 AP_Logger::io_th…

ORB_SLAM3 IMU预积分PreintegrateIMU

这篇博文主要分享ORB_SLAM3中Tracking::PreintegrateIMU()&#xff0c;其主要包括几个部分&#xff1a; 获得两帧之间的IMU数据中值积分IMU状态更新 关于IMU的理论推导参考&#xff1a; ORB_SLAM3_IMU预积分理论推导(预积分项)ORB_SLAM3_IMU预积分理论推导(噪声分析)ORB_SLA…

第五章 Linux的文件权限与目录配置

Linux最好的地方之一就在于他的多用户多任务环境。为了让各个使用者具有较保密的文件数据&#xff0c;因此文件的权限管理就变得很重要了。Linux一般将文件可存取的身份分为三个类别&#xff0c;分别是owner/group/others,且三种身份各有read/write/execute等权限。 5.1 使用者…

【Servlet学习一】认识Servlet 创建第一个Servlet项目

目录 &#x1f31f;需要知道&#xff1a; &#x1f308;1、Tomcat是什么&#xff1f; &#x1f308; 2、Maven &#x1f31f;一、认识Servlet &#x1f308;1、Servlet是什么&#xff1f; &#x1f308;2、实现第一个Servlet项目。 &#x1f308;3、简单了解Postman工具…

Python3 模块与输入与输出 | 菜鸟教程(十二)

目录 一、Python3 模块 &#xff08;一&#xff09;import 语句 1、想使用 Python 源文件&#xff0c;只需在另一个源文件里执行 import 语句&#xff0c;语法如下&#xff1a; 2、当解释器遇到 import 语句&#xff0c;如果模块在当前的搜索路径就会被导入。 3、搜索路径是…

PID控制算法 – 1、Sample Time(采样时间)

前面介绍的PID代码虽然能跑起来&#xff0c;但是还存在一些问题。 PID控制算法 – 0、PID原理_资深流水灯工程师的博客-CSDN博客 对应的代码也重新贴一下&#xff0c;方便比较 /*工作变量*/ unsigned long lastTime; double Input, Output, Setpoint; double errSum, lastEr…

【初识C语言(2)】字符串+转义字符+注释

文章目录 1. 字符串2. 转义字符转义字符表常见转义字符 3. 注释 1. 字符串 “hello world.\n” 上面这种由双引号引起的一串字符就被称为字符串&#xff1b; 字符串的存储 C 语言当中没有字符串类型&#xff0c;如果想要将字符串存储起来的话就需要用到字符串数组。 #include…

LLaMA及其子孙模型概述

文章目录 LLaMAAlpacaVicunaKoalaBaize (白泽)骆驼(Luotuo)BELLEGuanaco LLaMA 与原始transformer的区别: 预归一化[GPT3]。为了提高训练稳定性&#xff0c;对每个Transformer子层的输入进行归一化&#xff0c;而不是对输出进行归一化。使用了Zhang和Sennrich&#xff08;201…

Redis进阶篇(附面试快速答法)

文章目录 Redis使用场景1、缓存穿透布隆过滤器小总结面试快速答法 2、缓存击穿小总结面试快速答法 3、缓存雪崩面试快速答法 4、双写一致性小总结面试快速答法 5、持久化机制面试快速答法 6、数据过期策略小总结面试快速答法 7、数据淘汰策略小总结面试快速答法 8、分布式锁小总…

Pytest集成Allure Report

目录 安装 用法 基本报告 支持 Pytest features Xfail 条件标记 Fixtures and Finalizers 参数化 Allure Features Steps 附件 描述 标题 链接 重试 Tags BDD 标签 严重性标记 Behave 安装 使用 Features 严重性 步骤和场景状态 步骤数据 安装 Pytest可从…

SpringBoot 如何使用 @RequestBody 进行数据校验

SpringBoot 如何使用 RequestBody 进行数据校验 在 Web 开发中&#xff0c;前台向后台发送数据是非常常见的场景。而在 SpringBoot 框架中&#xff0c;我们通常使用 RequestBody 注解来接收前台发送的 JSON 数据&#xff0c;并将其转化为 Java 对象。但是&#xff0c;接收到的…