使用jQuery处理Ajax
使用jQuery处理Ajax
HTTP协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议
设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法
所有的WWW文件都必须遵守这个标准
一次HTTP操作称为一个事务,其工作过程可分为四步

HTTP协议-请求方法
| 方法 | 说明 |
|---|---|
| OPTIONS | 返回服务器针对特定资源所支持的HTTP请求方法 |
| HEAD | 向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回 |
| GET | 向特定的资源发出请求 |
| POST | 向指定资源提交数据进行处理请求 |
| PUT | 向指定资源位置上传其最新内容 |
| DELETE | 请求服务器删除Request-URI所标识的资源 |
| TRACE | 回显服务器收到的请求,主要用于测试或诊断 |
| CONNECT | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 |
| PATCH | 实体中包含一个表,表中说明与该URI所表示的原内容的区别 |
HTTP协议-GET和POST区别
| GET | POST | |
|---|---|---|
| 缓存 | 能被缓存 | 不能缓存 |
| 编码类型 | application/x-www-form-urlencoded | application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码 |
| 历史 | 参数保留在浏览器历史中 | 参数不会保存在浏览器历史中 |
| 对数据长度的限制 | 当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符) | 无限制 |
| 对数据类型的限制 | 只允许 ASCII 字符 | 没有限制,也允许二进制数据 |
| 安全性 | 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分 | POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中 |
| 可见性 | 数据在 URL 中对所有人都是可见的 | 数据不会显示在 URL 中 |
Ajax概念
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术
原生创建Ajax的步骤
创建Ajax对象
连接到服务器
发送请求
接收返回值
创建Ajax对象
非IE6语法:var oAjax=new XMLHttpRequest();
老版本IE5 和 IE6语法:varoAjax=newActiveXObject(“Microsoft.XMLHTT”)
if (window.XMLHttpRequest){var oAjax=new XMLHttpRequest();// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
}else{var oAjax=new ActiveXObject("Microsoft.XMLHTTP");// IE6, IE5 浏览器执行代码 }
连接到服务器
open(方法,文件名,同步异步)
参数一:post/get
参数二:请求的文件名
参数三:同步(false) 异步(true)
oAjax.open("GET","abc.txt",true);
发送请求
send()
oAjax.send();
接收返回值
oAjax.onreadystatechange=function(){if (oAjax.readyState==4 && oAjax.status==200){alert("请求成功"+oAjax.responseText);}else{alert("请求失败"+oAjax.status);}
}
使用jQuery处理Ajax
$.ajax() 方法
通过 HTTP 请求加载远程数据
jQuery.ajax([settings])
setting:可选。用于配置 Ajax 请求的键值对集合$("#b01").click(function(){htmlobj=$.ajax({url:"/jquery/test1.txt",async:false});$("#myDiv").html(htmlobj.responseText);});
$.ajax() 方法-参数
$().load()方法
从服务器加载数据,并把返回的数据放入被选元素中
$(selector).load(URL,data,callback);URL:必需参数,路径
data:可选参数,与请求一同发送的查询字符串键/值对集合
callback:可选参数,load() 方法完成后所执行的函数名称
$.get() 方法
通过 HTTP GET 请求从服务器上请求数据
$.get(URL,callback);URL:必需参数,路径
callback:可选参数,请求成功后所执行的函数名
$.post() 方法
通过 HTTP POST 请求从服务器上请求数据
$.post(URL,data,callback);URL:必需参数,路径
data:可选参数,连同请求发送的数据
callback:可选参数,请求成功后所执行的函数名
什么是跨域
跨域,指的是浏览器不能执行其他网站的脚本
例子:比如在网站中使用ajax请求其他网站的天气、快递或者其他数据接口
产生跨域的原因
由浏览器的同源策略造成的===>同域名,同端口,同协议
跨域解决方案1
CORS跨域资源共享
服务端:header(“Access-Control-Allow-Origin:*”);
“*”表示所有的域都可以接受
缺点
ie10以下不支持(可以用XDR实现)
跨域解决方案2
jsonp
动态创建script标签,使用jQuery的jsonp请求
优点
兼容性强&不受同源策略的限制
缺点
只能用get方法,不能使用post方法
跨域解决方案3
基于iframe实现跨域
在两个页面中同时添加document.domain
跨域解决方案4
web sockets
缺点
只有在支持web sockets协议的服务器上才能正常工作
相关文章:
使用jQuery处理Ajax
使用jQuery处理Ajax HTTP协议 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法 所有的WWW文件都必须遵守这个标准 一次HTTP操作称为一个事务&am…...
uni-app App版本更新
效果图: 前言 在移动应用开发中,确保用户能够及时更新到最新版本是非常重要的。本文将介绍如何在 uni-app 中实现 App 整包更新功能,并提供相关代码示例以帮助理解。 代码实现 2.1 引入模块 首先,我们需要引入用于处理更新的模块…...
Python Web 与低代码/无代码平台的深度融合
Python Web 与低代码/无代码平台的深度融合 目录 🚀 低代码与无代码平台的兴起🔗 Python 与低代码平台集成🌐 低代码开发的最佳实践📊 数据集成与自动化 1. 🚀 低代码与无代码平台的兴起 低代码和无代码平台的出现&…...
js 如何监听 body 内容是否改变
如果您想监听body内容的变化,并作出响应,可以使用MutationObserver。以下是一个简单的例子,它会在body内容变化时在控制台输出一条消息: // 创建一个观察者对象 const observer new MutationObserver(function(mutations, obser…...
python: 数字类型的一些函数
len(str) round(x, d) 对x进行四舍五入保留小数点后d位 round(3.45,1) 即 3.5 pow(x, y) # x的y次幂. x ** y pow(x, y[,z]) # 幂余 ( x ** y) % z print(pow(3, pow(3, 99), 10000)) #4587 浮点数…...
MapReduce学习与理解
MapReduce为google分布式三驾马车之一。分别为《The Google File System》、《MapReduce: Simplified Data Processing on Large Clusters》、《Bigtable: A Distributed Storage System for Structured Data》。三遍论文奠定了分布式存储和计算的基础。本篇文章来说说mapreduc…...
Animal objDog = new Dog()和 Dog objDog = new Dog()的区别
文章目录 1、Animal objDog new Dog()和 Dog objDog new Dog()的区别1. **对象类型(引用类型)**2. **调用和可用成员**3. **示例代码来说明**使用示例总结 2、Animal objDog new Dog();不能调用dog的方法和属性是为什么?原因解析解决方法小…...
springboot引入netty
配置类 import cn.hutool.core.thread.ThreadUtil; import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.PooledByteBufAllocator; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.SocketChanne…...
PWM基础与信号控制
1. 什么是PWM? PWM(Pulse Width Modulation,脉宽调制)是一种通过改变信号的占空比来控制电压输出的技术。简单来说,PWM信号由一系列高低电平组成,通过调节高电平持续的时间比例,可以控制信号的…...
nvm,一款nodejs版本管理工具
背景 在工作中,我们可能同时在进行2个或者多个不同的项目开发,每个项目的需求不同,进而不同项目必须依赖不同版本的NodeJS运行环境,这种情况下,对于维护多个版本的node将会是一件非常麻烦的事情,nvm就是为…...
数据处理与统计分析篇-day11-RFM模型案例
会员价值度模型介绍 会员价值度用来评估用户的价值情况,是区分会员价值的重要模型和参考依据,也是衡量不同营销效果的关键指标之一。 价值度模型一般基于交易行为产生,衡量的是有实体转化价值的行为。常用的价值度模型是RFM RFM模型是根据…...
【PostgreSQL】PostgreSQL数据库允许其他IP连接到数据库(Windows Linux)
要让PostgreSQL数据库允许其他IP连接到数据库,需要进行以下几个步骤的配置: 1. 修改postgresql.conf文件 首先,需要修改PostgreSQL的主配置文件postgresql.conf,允许数据库监听所有IP的连接请求。 1.1 找到postgresql.conf文件…...
通义千问:让我的编程工作效率翻倍的秘密武器
在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度,甚至让团队协作更加顺畅。在这篇博客中,我将分享一个让我工作效率翻倍的编程工具——通义千问大…...
2.Seata 1.5.2 集成Springcloud-alibaba
一.Seata-server搭建已完成前提下 详见 Seata-server搭建 二.Springcloud 项目集成Seata 项目整体测试业务逻辑是创建订单后(为了演示分布式事务,不做前置库存校验),再去扣减库存。库存不够的时候,创建的订单信息数…...
python 图像绘制问题: 使用turtle库绘制蟒蛇
turtle (海龟)库是turtle绘图体系的python实现。 1969年诞生,主要用于程序设计入门。 import turtle turtle.setup(650, 350, 200, 200) # 设置窗体(宽,高,窗体左上角x坐标,y坐标) turtl…...
大模型分布式训练并行技术(七)-自动并行
近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练。 而利用AI集群&a…...
网络安全等级保护 | 规范企业网络系统安全使用 | 天锐股份助力等保制度落地
在当今数字化高速发展的时代,网络安全对于企业的重要性日益凸显。而近年来,数据泄露、网络攻击等安全事件频发,给企业和个人带来了前所未有的挑战。在这一背景下,网络安全等级保护制度(简称“等保”)作为国…...
Springboot使用redis,以及解决redis缓存穿透,击穿,雪崩等问题
1.Redis面试题-缓存穿透,缓存击穿,缓存雪崩 1 穿透: 两边都不存在(皇帝的新装) (返回空值)(互斥锁)(黑名单) (布隆过滤器) 2 击穿:一个或多个热…...
pve 命令开启关闭虚拟机
命令 #查看集群资源状况 #pvesh get /cluster/resources #取得虚拟机当前状态 #pvesh get /nodes/<节点id>/qemu/<虚拟机id>/status/current #pvesh get /nodes/www/qemu/107/status/current#关闭虚拟机 #pvesh create /nodes/<节点id>/qemu/<虚拟机id&…...
【达梦数据库】临时表的使用测试
目录 背景问题复现问题原因解决方法 背景 用户在使用临时表的过程中,执行commit提交命令之后,临时表的数据被清空,无法被接下来的存储过程复用。 问题复现 -----------------------------提交删除行----------------------------- --创建临…...
告别内置ADC的烦恼:用ADS1119搞定STM32/DSP的高精度电压采样(附完整代码)
告别内置ADC的烦恼:用ADS1119搞定STM32/DSP的高精度电压采样(附完整代码) 在嵌入式系统开发中,电压采样是基础却至关重要的环节。许多工程师在使用STM32或DSP内置ADC时,常会遇到精度不足、抗干扰能力差、无法测量差分信…...
TongWEB(东方通)实战:从零部署企业级WEB前后端项目
1. 环境准备:银河麒麟系统下的基础搭建 在银河麒麟桌面系统V10(SP1)兆芯版上部署企业级WEB项目,环境准备是第一步。我遇到过不少开发者直接跳过环境检查就急着部署,结果浪费大量时间排查兼容性问题。这里分享几个关键点: 首先是系…...
百度网盘直链解析工具:3分钟突破限速实现满速下载
百度网盘直链解析工具:3分钟突破限速实现满速下载 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾为百度网盘的下载速度而烦恼?非会员用户经常…...
Touchpoint:命令行工具集中管理工作上下文,提升开发效率
1. 项目概述:一个被低估的开发者效率工具如果你和我一样,日常开发工作需要在多个代码仓库、项目管理工具(如Jira、Linear)、文档平台(如Confluence、Notion)和沟通软件(如Slack)之间…...
低温预警!固化慢、易开裂……密封胶冬季施工手册
低温预警!固化慢、易开裂……密封胶冬季施工手册 硅酮耐候密封胶主要作用是保障幕墙的气密性、水密性。其出现问题,可能会导致耐候密封失效,从而造成幕墙漏水漏气,影响幕墙的正常使用。耐候密封胶由于考虑到现场施工,几乎都是单组分硅酮密封胶产品。进入冬季,气候变化明…...
基于AutoHotkey的Windows桌面自动化工具开发实战
1. 项目概述与核心价值最近在整理个人项目库时,翻到了一个挺有意思的“老伙计”——cua_desktop_operator_skill。这个项目名听起来有点拗口,直译过来是“CUA桌面操作员技能”。乍一看,可能会让人联想到某种工业控制台的专用软件。但实际上&a…...
MCP服务器开发指南:为AI助手构建安全可控的外部工具扩展
1. 项目概述:一个为AI助手赋能的MCP服务器最近在折腾AI应用开发的朋友,可能都绕不开一个词:MCP。全称是Model Context Protocol,你可以把它理解成一套标准化的“插件协议”。它让像Claude、Cursor这类AI助手,能够安全、…...
基于MCP协议构建AI金融数据可视化服务器:从原理到实战部署
1. 项目概述:一个为AI智能体提供实时金融数据可视化的MCP服务器最近在折腾AI智能体(Agent)的生态,发现一个挺有意思的痛点:当你想让AI帮你分析股票、基金或者加密货币时,它往往只能给你干巴巴的数字和文字描…...
终极网络资源下载神器:面向内容创作者的5步实战指南
终极网络资源下载神器:面向内容创作者的5步实战指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾为保…...
会话管理封装实践:构建安全可扩展的分布式会话系统
1. 项目概述:一个被低估的会话管理利器如果你是一名开发者,尤其是经常需要处理用户登录、权限校验、状态保持这类“脏活累活”的后端或全栈开发者,那么你一定对“会话管理”这四个字又爱又恨。爱的是,它是构建安全、有状态应用的基…...
