Ajax学习:设置CROS响应头实现跨域(跨域资源共享)

news2024/9/28 21:29:35

CROS:跨域资源共享、是官方的跨域解决方案,特点不需要在客户端做任何特殊的操作,完全在服务器中处理(支持get post 等)


客户端做ajax请求,服务端做相应头设置就可以实现跨域:

<!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>Document</title>
		<style>
			#result {
				width: 200px;
				height: 100px;
				border: 1px slateblue solid;
			}
		</style>
	</head>
	<body>
		<button>发送请求</button>
		<div id="result"></div>
		<script>
			const btn =document.querySelector('button');
			const result=document.querySelector('div')
			btn.addEventListener('click', function() {
			
				//4步骤走
				const xhr = new XMLHttpRequest();
				xhr.open('GET', 'http://127.0.0.1:9000/cors-server');
				xhr.send();
				xhr.onreadystatechange = function() {
					if (xhr.readyState === 4) {
						if (xhr.status < 300 && xhr.status >= 200) {
							console.log(xhr.response)
						}
					}
				}
			})
		</script>
	</body>
</html>
const {
	json
} = require('express');
const express = require('express')

const app = express();


app.all('/cors-server',function(requset,response){
	response.send('CORS 跨域请求')
})

app.listen(9000, () => {
	console.log('9000启动成功')
})


Access to XMLHttpRequest at 'http://127.0.0.1:9000/cors-server' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.  

CORS 跨域共享机制阻止 服务端没有Access-Control-Allow-Origin响应头


要想实现跨域请求,必须在服务端返回结果的时候设置响应头

file协议向http 发送请求 Access-Control-Allow-Origin 后面填写运行网页的url *是通配所有网页

 

http和http不需要


实际上有一组响应头

跨源资源共享(CORS) - HTTP | MDN (mozilla.org)

Access-Control-Allow-Origin 参数指定了单一的源(什么客户端的url可以访问该资源),

 Access-Control-Expose-Headers:暴露头部信息,客户端同意的哪些头可以暴露

Access-Control-Max-Age:预请求结果缓存。加一个时间,每次请求就会在规定时间有效,超过使时间不会预检

Access-Control-Allow-Credentials: 跨域请求时候,是否允许携带验证信息(cookie)

Access-Control-Allow-Methods:设置请求允许的方法

Access-Control-Allow-Headers:设置头信息(自定义头不允许 所以需要在响应前接收的任意请求头)

app.all('/cors-server', function(requset, response) {
	response.setHeader('Access-Control-Allow-Origin', '*');
	response.setHeader('Access-Control-Allow-Headers', '*'); //头,方法
	response.setHeader('Access-Control-Allow-Methods', '*')
	response.send('CORS 跨域请求')
})

 

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

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

相关文章

如何快速构建研发效能度量的指标体系?

本月初&#xff0c;没毛病软件公司的研发总监 Kevin 在参加完公司管理层月度例会后&#xff0c;心情非常糟糕...... 刚才会议中&#xff0c;老板很严肃地问研发总监 Kevin&#xff1a;“我在会议前接到了客户的投诉电话&#xff0c;说产品出现了 Bug&#xff0c;这已经不是第一…

.net-----Windows 窗体应用程序包括控件,对话框,多重窗体,绘制图形,菜单和工具栏

目录前言Windows窗体应用程序概述&#xff1b;窗体和大部分控件常用的事件创建Windows窗体应用程序使用Visual Studio集成开发环境实现Hello World程序使用常用Windows窗体控件&#xff1b;Label、TextBox、RichTextBox、Button应用示例单选按钮、复选框和分组【例】RadioButto…

(附源码)springboot物流配货管理系统 毕业设计 250858

基于springboot物流配货管理系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对物流配货等问题,对物流配货进行研究分析,然后…

电力系统机组组合优化调度(IEEE14节点、IEEE30节点、IEEE118节点)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f4dd;目前更新&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;电力系统相关知识&#xff0c;期刊论文&…

数云融合丨知识图谱在烟草零售数字化转型中的应用

一、知识图谱的趋势 随着互联网、云计算、大数据、人工智能等信息数据技术的快速发展&#xff0c;计算机的智能化程度也越来越高&#xff0c;知识图谱作为人工智能的核心技术&#xff0c;其在数据集成、语义表示和逻辑推理等方面存在着得天独厚的优势。 2021年&#xf…

Java并发-交替打印的四种方法。

1 前言 如下图所示&#xff0c;现在有两个线程A,B&#xff1b;A打印12345&#xff0c;B打印abcde&#xff0c;结果为1a2b3c4d5e交替输出。 1.1 采用wait和notify 【分析】我们要求线程A始终先打印&#xff0c;因此在线程B先获得CPU使用时间时也应该阻塞。 细节 线程A应该打印…

【人工智能/算法】搜索求解(Solving Problemsby Searching)

文章目录一、求解与搜索二、盲目式搜索1. 深度优先搜索&#xff08;Depth First Search, DFS&#xff09;回溯搜索&#xff08;Backtracking Search&#xff09;2. 广度优先搜索&#xff08;Breadth First Search, BFS&#xff09;一致代价搜索&#xff08;Uniform-cost Search…

TLog轻量级分布式日志标记追踪神器

文章目录TLog简介项目特性安装TLogspringboot依赖spring native依赖日志框架适配方式(举例Log4j框架适配器)任务框架支持(举例XXL-JOB框架)TLog架构图TLog简介 TLog通过对日志打标签完成企业级微服务的日志追踪。它不收集日志&#xff0c;使用简单&#xff0c; 产生全局唯一的…

Actor 生命周期

一&#xff0c;一览图 二&#xff0c; 大致流程 三&#xff0c;细节 从磁盘加载 已位于关卡中的 Actor 使用此路径&#xff0c;如 LoadMap 发生时、或 AddToWorld&#xff08;从流关卡或子关卡&#xff09;被调用时。 包/关卡中的 Actor 从磁盘中进行加载。 PostLoad - 在序…

支持向量机(SVM)—— 详细推导及案例应用可视化

支持向量机&#xff08;SVM&#xff09; 1. 什么是支持向量机&#xff1f; 在上图中&#xff0c;我们想在二维平面中通过画出一条分界线将黑点与白点分开&#xff0c;很明显&#xff0c;我们认为在上面所画的三条分界线中H3H_3H3​是最好的&#xff0c;因为H1H_1H1​压根就没有…

【行为识别】差影法三维人体姿态行为识别【含Matlab源码 277期】

⛄一、简介 该课题为基于MATLAB差影法的人体姿态识别。需要准备对应的模板图片作为背景图&#xff0c;然后测试图和背景图进行作差&#xff0c;结合形态学知识&#xff0c;提取出人体轮廓&#xff0c;接上最外接矩形&#xff0c;得出矩形长宽&#xff0c;计算长宽比例&#xf…

江江文具店铺运营方案设计

目 录 摘 要 I ABSTRACT II 第一章 项目背景 1 1.1电子商务基本概念 1 1.2电子商务现状及发展趋势 1 1.3文具行业的发展现状 2 第二章 文具行业介绍 4 2.1文具行业的调查与分析 4 2.1.1文具行业电子商务渗透率 4 2.1.2文具行业内企业电子商务销售平台使用状况调查统计 5 2.1.3文…

自研芯片重构云上算力革新,满足用户所有负载的需求!

目前&#xff0c;云计算已深入到整个云基础设施&#xff0c;进入硬件协同创新的“深水区”&#xff0c;芯片创新之路是最底层的创新&#xff0c;是最具颠覆性的&#xff0c;也是改变云计算游戏规则的能力。 而亚马逊云科技硬件创新背后的初衷&#xff1a;为云而生的硬件设计&am…

【计算机毕业设计】71.大学生兼职信息系统源码

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐…

react源码中的协调与调度

requestEventTime 其实在React执行过程中&#xff0c;会有数不清的任务要去执行&#xff0c;但是他们会有一个优先级的判定&#xff0c;假如两个事件的优先级一样&#xff0c;那么React是怎么去判定他们两谁先执行呢&#xff1f; // packages/react-reconciler/src/ReactFibe…

数字化门店| 运动场馆管理系统| 智慧门店小程序

忙碌了一天或闲暇之余想要放松&#xff0c;不少年轻人都会选择前往运动场馆进行各种运动&#xff0c;如打篮球、踢足球、打羽毛球等&#xff0c;一些城市的某个特定区域内聚集着不同品牌的运动场馆&#xff0c;相互之间竞争激烈。 如今&#xff0c;消费升级下&#xff0c;消费者…

Win10系统修改用户名以及C盘下Users用户名实操手册(实测有效)

当然&#xff0c;前提先说下如无必要&#xff0c;不建议修改C盘user下用户名&#xff0c;毕竟重装系统可能就在那一瞬间。我们要理解里面的原理&#xff0c;逻辑关系就会好操作很多了。再次申明&#xff0c;目前这只是针对Win10的实操&#xff0c;Win11的操作会有一些不同&…

铁矿行业商业智能BI经营分析框架(三)财务能力分析

铁矿行业属于黑色金属矿采选业&#xff0c;商业智能BI对于这个行业的财务能力指标分析框架跟其它行业大体上是一样的。比如从盈利能力、债务风险、营运能力、发展能力、现金流这几个角度去看。 财务分析 - 派可数据商业智能BI可视化分析平台 一、盈利能力 商业智能BI从资产、…

天黑了、让我为你关窗帘吧

今天遇到朋友发来的一个需求&#xff0c;需要做一个窗户上下拉窗帘的小小的交互&#xff0c;于是就有了今天的小DEMO&#xff0c;要实现下图一个效果&#xff0c;需要开窗帘&#xff0c;关窗帘&#xff0c;中途还可以暂停&#xff0c;就这样一个小小的效果&#xff0c;我们来分…

阿里18年架构师,带你分析经典算法应用思路,探究分布式背后原理

你要知道 长期以来,在996的工作压力下&#xff0c;工程师们更重视实践中的技巧&#xff0c;力求快速解决眼前的问题,而鲜有时间关注问题背后的底层原理。 表面看来&#xff0c;这种做法提高了工作效率&#xff0c;但实际上&#xff0c;这样容易形成“头疼医头&#xff0c;脚疼…