跨域的几种情况和如何解决跨域问题

在网站开发中,经常会遇到跨域问题,下面总结一下集中常见的跨域问题。

1. 不同域名属于跨域,如:www.a.com 和www.b.com,另外www.a.com 和www.a.com.cn也属于不同域名。

2. 主域名和子域名(二级域名、三级域名等)跨域,如:www.a.com 和 bbs.a.com 跨域。

3. 不同协议属于跨域,如:http://www.a.com 和 https://www.a.com。

4. Ip和域名属于跨域,如:123.23.23.12 和 www.a.com。

那如何解决跨域呢?

如何解决跨域问题

  • JSONP 
      JSONP是JSON with Padding的略称。它是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。
  • 添加响应头,允许跨域 
      addHeader(‘Access-Control-Allow-Origin:*’);//允许所有来源访问 
      addHeader(‘Access-Control-Allow-Method:POST,GET’);//允许访问的方式
  • 代理的方式 
    服务器A的test01.html页面想访问服务器B的后台action,返回“test”字符串,此时就出现跨域请求,浏览器控制台会出现报错提示,由于跨域是浏览器的同源策略造成的,对于服务器后台不存在该问题,可以在服务器A中添加一个代理action,在该action中完成对服务器B中action数据的请求,然后在返回到test01.html页面。

Demo1(添加允许跨域请求的响应头)

  • html页面 

  • Web后台 
    按照上面的访问,由于127.0.0.1:8080和localhost:8081的域和端口不同,所以同样会出现跨域问题。 

现在用添加响应头的方式 


Demo2(jsonp的callback方式)

这里演示的是jquery的ajax,后台采用的是webservice接口形式 


注意此时的dataType为jsonp格式,看看后台的接收 

, 
我们返回的其实就是一个函数的调用文本,这里注意,callback的名称,由于前台没有指定callback函数,所以这里自动生成了,如果想自定义回调函数名称如下操作,添加一行请求参数 


这样后台的回调函数名就变成了mytest 


浏览器发出的请求格式和响应数据如下,其实就是返回函数的调用,而需要返回的数据则以函数参数值的形式填入 

 
此时控制台就能够获取到“hello world” 。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

192×144像素是几寸照片?如何手机拍照制作

在数字摄影时代,像素是衡量照片质量的重要指标之一。那么,192144像素的照片相当于多少英寸呢?又如何使用手机拍摄并制作这样的照片呢?本文将为您解答。 首先,我们需要了解像素和英寸之间的关系。像素是图像的最小单位&…

分布式篇(分布式事务)(持续更新迭代)

一、事务 1. 什么是事务 2. 事务目的 3. 事务的流程 4. 事务四大特性 原子性(Atomicity) 一致性(Consistency) 持久性(Durability) 隔离性(Isolation) 5. MySQL VS Oracle …

14款被严重低估的安全红队测试工具推荐,网络攻防|网络安全必看的工具合集推荐!

大家好,我是小强 工具往往可以决定网络安全渗透测试或红队演练活动的成败。虽然Kali中的许多工具都已经过验证且稳定可靠,但并不能适合所有渗透测试场景。对于安全红队而言,需要在不同测试需求下,确保有足够的装备来实现测试目标…

洞见数据未来,StarRocks Summit Asia 2024 即将启幕!

在 AI 时代,我们需要怎样的数据基础软件? 数据量和数据类型的需求飞速上涨,我们不仅需要将历史上各种基础设施中的数据进行分析使用,还要关注性能、灵活性、性价比,以及确保单一可信数据源。这一切构成了当前大数据领…

三维管线管网建模工具MagicPipe3D V3.5.3

经纬管网建模系统MagicPipe3D,本地离线参数化构建地下管网三维模型(包括管道、接头、附属设施等),输出标准3DTiles、Obj模型等格式,支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析&…

喜报!腾讯云存储获第三届“鼎新杯”优秀案例!

引言 2024年9月24日-25日,由中国通信标准化协会主办、中国信息通信研究院(简称“中国信通院”)承办、中国通信企业协会支持的“2024数字化转型发展大会”在北京召开。大会公布了第三届“鼎新杯”数字化转型应用大赛案例评选结果。 腾讯云存…

预算不够,怎么跟KOL砍价?(内附砍价模板)

​在当今的数字营销时代,海外红人(KOL)的影响力不容小觑。他们的一篇帖子、一个视频,甚至是一张照片,都有可能为企业带来巨大的流量和销量。 当企业满怀希望地找到一位粉丝众多、影响力强的KOL,准备洽谈合作…

2024年双十一有什么必买好物推荐?双11最值得关注的宝藏好物分享

​随着2024年双十一购物狂欢节的到来,各种实用且富有创意的小物件成为了大家关注的焦点。在这场全民参与的购物盛宴中,一款既能满足日常需求又能提升生活便捷性的宝藏好物——充电宝,成为了许多人心目中的首选。无论是忙碌的上班族&#xff0…

【前端Vue学习笔记】组件注册方式 组件传递数据 组件事件 透传 插槽slot 组件生命周期 动态组件 异步组件 依赖注入 Vue应用

文章目录 组件注册方式全局注册全局注册的缺点推荐使用局部注册步骤 组件传递数据-Props步骤注意事项 组件传递多种数据类型组件传递Props效验默认值必选项注意警告 组件事件父组件代码子组件代码 组件之间传递数据的方案父传子子传父 组件事件配合v-model使用步骤:…

linux网络编程5——Posix API和网络协议栈,使用TCP实现P2P通信

文章目录 Posix API和网络协议栈,使用TCP实现P2P通信1. socket()2. bind()3. listen()4. connect()5. accept()6. read()/write(), recv()/send()7. 内核tcp数据传输7.1 TCP流量控制7.2 TCP拥塞控制——慢启动/拥塞避免/快速恢复/快速重传 8. shutdown()9. close()9…

【线下培训】龙信科技应邀参与了由教育部网络安全与执法虚拟教研室(中国刑事警察学院)举办的学术讲座

文章关键词:电子数据取证培训、产学研推进、手机取证、介质取证 2024年10月23日,龙信科技应邀参与了由教育部网络安全与执法虚拟教研室(中国刑事警察学院)举办的学术讲座。在这次学术交流中,我们公司的技术专家陈杰以…

Redis Search系列 - 第一讲 创建索引

目录 一、引言二、全文检索基本概念三、创建索引 一、引言 Redis Search 是 Redis 的一个模块,用于提供全文搜索和二级索引功能。它允许在 Redis 数据库中执行复杂的搜索查询,并支持多种数据类型和查询操作。以下是 Redis Search 的一些关键特性&#x…

学习threejs,使用canvas样式化粒子

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.PointCloud简介1.11 …

Vue3+ts+vite自动导入vue的依赖

Vue3tsvite自动导入vue的依赖 unplugin-auto-import 主要依赖 npm i -D unplugin-auto-import// vite.config.ts import AutoImport from unplugin-auto-import/viteexport default defineConfig({plugins: [AutoImport({ imports: ["vue", "vue-router"…

团体标准审查结果一般会有哪几种情况?

1. 通过: • 标准质量高:标准的内容符合国家法律法规和相关标准的要求,技术指标科学、合理、先进,具有较强的适用性和可操作性 • 材料完整规范:送审材料齐全,标准的格式、文本编写等符合规定,为…

深入拆解TomcatJetty——Tomcat生命周期与多层容器

深入拆解Tomcat&Jetty(三) 专栏地址:https://time.geekbang.org/column/intro/100027701 1 Tomcat组件生命周期 Tomcat如何如何实现一键式启停 Tomcat 架构图和请求处理流程如图所示: 对组件之间的关系进行分析,…

deploylinux的ubuntu系统无法成功安装使用MySQL❓

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&am…

如何编辑加密的PDF文件?

PDF文件打开之后,发现编辑功能都是灰色的,无法使用,无法编辑PDF文件,遇到这种情况,是因为PDF文件设置了限制编辑导致的。一般情况下,我们只需要输入PDF密码,将限制编辑取消就可以正常编辑文件了…

由于导出的数据名字中带有/,导致Matlab打不开,怎么办?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&am…

Spring Boot集成PageHelper分页插件详解---补充

这里写目录标题 内容补充 内容 ⭐最新版!SpringBoot正确集成PageHelper姿势,不再被误导! Spring Boot集成PageHelper分页插件详解 原本看了这两篇文章,觉得写的其实挺好的。但是发现两篇文章里面,对于方法的使用,都…