因工作需要,客户端软件的一些界面用HTML+CSS+Javascript实现,这些文件放在客户端本地,以本地文件形式加载,但是有些情况下,需要连接服务器取得一些信息,如果不做任何处理,则请求失败,返回的信息如下:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

这是因为浏览器跨域策略起作用,阻止了跨域的请求。看看HTTP请求过程就知道。第一次请求后端时候,浏览器意识到是访问一个跨与资源,没有直接发送GET请求获取数据,而是发送了一个OPTIONS请求询问是否可以访问该资源。我们称之为Preflight请求,默认因为同源策略的存在,该请求返回的Header中没有'Access-Control-Allow-Origin'属性,所以访问失败。

如果要实现跨域,关键在于服务器,客户端的代码按照正常的方式编写即可。对于服务器,只需要在收到OPTIONS请求的地方,返回的头信息中增加该属性即可,代码如下:

header("Access-Control-Allow-Origin: *");

注意,一定要在所有信息输出到客户端之前设置。

转载于:https://my.oschina.net/tywali/blog/683445

PHP - 如何实现跨域相关推荐

  1. 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题

    继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错???springboot 两种方式稳定解决跨域问题! 之前我写了一篇文章,来解决CORS报错 ...

  2. kotlin设置CORS跨域资源共享,java设置允许跨域,服务端如何设置 springboot中设置跨域资源共享

    CORS通信过程,都是浏览器或http插件自动完成,不需要 用户/开发人员 参与.对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码是完全一样的.浏览器一旦发现AJAX请求跨源,就会自动添 ...

  3. 关于上传文件的跨域问题

    在进行新框架开发的过程中,需要自定义页面组件实现脱离表单的文件(图片)上传,考虑过wex5自带的attachmentsimple的自定义写法很难受,就改用了第三方插件webuploader来实现选择文 ...

  4. 170222、使用Spring Session和Redis解决分布式Session跨域共享问题

    使用Spring Session和Redis解决分布式Session跨域共享问题 原创 2017-02-27 徐刘根 Java后端技术 前言 对于分布式使用Nginx+Tomcat实现负载均衡,最常用 ...

  5. angularjs post 跨域

    web api搞好了:用Ajax妥妥的:但是前端用的AngulagJS,也懒得再换为Ajax了: 但是问题来了:提示: 已拦截跨源请求:同源策略禁止读取位于 http://x.x.x.x:port/a ...

  6. CORS-跨域资源共享 解决跨域问题

    1.什么是跨域? a.test.com 和 b.test.com 是两个不同的域,而处于安全机制考虑,JS只能访问与所在页面同一个域(相同协议.域名.端口)的内容,但是我们在项目开发时,经常遇到一个页 ...

  7. 前端解决跨域问题的8种方案(最新最全)

    .同源策略如下: URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.j ...

  8. 转 小辉_Ray CORS(跨域资源共享)

    前言:上一篇文章在写如何使用JSONP实现跨域请求的时候,偶然间提到CORS,即Cross-Origin Resource Sharing(跨域资源共享).虽然前些天也看了一下CORS相关的文章,但是 ...

  9. Jetty Cross Origin Filter解决jQuery Ajax跨域访问的方法

    当使用jQuery Ajax post请求时可能会遇到类似这样的错误提示 XMLHttpRequest cannot load http://xxxxxx. Origin http://xxxxxx ...

  10. [Unity WWW] 跨域访问解决方法

    什么是跨域访问 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation).信任关系是连接在域与域之间的桥梁.当一个域与其他域建立了信任 ...

最新文章

  1. ISME:污水厂抗性组受细菌组成和基因交换驱动且出水中抗性表达活跃(一作解读)
  2. ASP.NET安全问题--ASP.NET中的授权问题(前篇)
  3. 【margin和padding的区别】
  4. 在AWS中部署OpenShift平台
  5. [scala-spark]3. 变量 数据类型 分支与循环
  6. python爬虫cookie池 与ip绑定_Python爬虫防封ip的一些技巧
  7. 从mysql到大数据(一)--开宗明义
  8. 百度-北大在Kaggle发起自动驾驶环境下的汽车6-DOF预测挑战赛
  9. 《Go 语言程序设计》读书笔记 (三) 方法
  10. 华为无盘服务器,无盘服务器操作系统
  11. Linux 用inotify监听文件和目录
  12. MongoDB学习:关闭mongod方式
  13. EJB系列 - 会话Bean基础知识
  14. ADO.NET(二)
  15. 利用ajax如何根据权限加载目录,AJAX调用框架,包含权限验证
  16. 普元 EOS Platform 7.6 Studio导出流程par包,在workspace中导入报错:租户令牌不正确,部署失败
  17. 提供计算机网络通信功能,在计算机网络中,通信子网的主要作用是___ 答案:提供计算机网络的通信功能...
  18. shell while用法
  19. 【二】网络空间安全综述
  20. 第二期:关于十大数据相关问答汇总,关注持续更新中哦~

热门文章

  1. java bufferedimage颜色_使用BufferedImage进行渐变色操作
  2. catia三维轴承_浅谈基于CATIA二次开发的单排四点接触球轴承三维设计论文
  3. linux apache2.4 php,php5.6+apache2.4+linux如何搭建php环境
  4. python脚本 数据库压力测试_python-网站压力测试脚本
  5. vc++64位系统下long的长度为4个字节_64位系统究竟牛逼在哪里?
  6. opencv处理dicom图像_图像处理|opencv| 利用opencv把照片变换成素描风格
  7. 【java】兴唐第二十节课(Collection 和 ArrayList)
  8. Eclipse启动失败:No java virtual machine was found after searching the follwing locations
  9. 小程序云开发,判断数据库表的两个字段匹配 云开发数据库匹配之 and 和 or 的配合使用
  10. 微信小程序获取用户设备的信息