当使用ajax跨域请求时,浏览器报错:XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin.肯定是跨域的问题,如果用jsonp或者pro

更多:

当使用ajax跨域请求时,浏览器报错:XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin.肯定是跨域的问题,如果用jsonp或者proxy的方式进行修改的话未免需要太大的工程量,所以采用CORS这种比较简单高效的技术。相比JOSP的方式,CORS更为高效。JSONP由于它的原理只能实现GET请求,而CORS支持所有类型的HTTP请求。使用CORS,可以使用普通的ajax实现跨域,这对于前端来说是极大的福音了,这个技术被现在大多数浏览器所普遍支持,因为跨域已经是普遍的要求,浏览器肯定会逐渐流出适当的‘后门'出来专门用以跨域。

浏览器支持情况

服务器端对于CORS的支持,是通过设置Access-Control-Allow-Origin来进行的。如果浏览器检测到相应的设置,,就可以允许Ajax进行跨域的访问。

具体操作方法, 可以通过不同入口来控制:

一、php代码控制:

二、html头控制:

三、nginx配置:

配置的含义是允许任何域发起的请求都可以获取当前服务器的数据。当然,这样有很大的危险性,恶意站点可能通过XSS攻击我们的服务器。所以我们应该尽量有针对性的对限制安全的来源,比如说将*替换为,设置使得只有这个域才能跨域访问。

Nginx 实现AJAX跨域请求可以参考:

apache ajax 跨域访问,Apache 实现AJAX跨域请求相关推荐

  1. java跨域解析json数据_java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据...

    在开发的过程中,有时候我们需要设计一个数据接口.有时候呢,数据接口和Web服务器又不在一起,所以就有跨域访问的问题. 第一步:简单的设计一个数据接口. 数据接口,听起来高大上,其实呢就是一个简单的Se ...

  2. nginx实现跨域访问(案例cookie实现跨域,)多方案实现

    案例cookie实现跨域 (我的博客里有更新) 跨域,顾名思义,个人理解就是:任意两个url只要协议.域名.端口有任何一个不同,都被当作是不同的域,相互访问就会有跨域问题. 方案一(前端需要实现跨域) ...

  3. php跨服务器访问不了,php跨服务器访问方法小结

    本文实例总结了php跨服务器访问方法..具体分析如下: 近来项目中遇到跨服务器访问的问题,研究了好些日子,总结如下: 1.用file_get_contents方法 $host = 'url'; $ra ...

  4. asp.net core 系列之允许跨域访问2之测试跨域(Enable Cross-Origin Requests:CORS)

    这一节主要讲如何测试跨域问题 你可以直接在官网下载示例代码,也可以自己写,我这里直接使用官网样例进行演示 样例代码下载: Cors 一.提供服务方,这里使用的是API 1.创建一个API项目.或者直接 ...

  5. JS跨域访问(ajax跨域)

    好吧,国庆有点不务正业,玩了几天游戏,咳咳 感觉还不错,放松下,本来是打算学angular2的,国庆的时候刚好也看到vue2的正式版本发布,恩,最后都没看.. 正言 为什么会出现跨域? 跨域的产生是因 ...

  6. AJAX跨域访问(不同域之间相互访问)

    目录 一.跨域: 二.同源策略: 三.解决Ajax跨域问题的方案: 方案一:设置响应头 方案二:jsonp 方案三:jQuery封装jsonp 方案四:代理机制(httpclient) 方案五:ngi ...

  7. 在Firefox中通过AJAX跨域访问Web资源

    一.解决在firefox中无法跨域访问的问题 AJAX从本质上讲就是命名用XMLHttpRequest组件来向服务端发送HTTP请求,请接收相应信息.至于成功接收到响应信息后的操作,就和普通的Web客 ...

  8. ie9以下兼容ajax跨域访问,解决ie9以下浏览器ajax请求报error拒绝访问方案 解决ie9以下浏览器ajax请求报400问题方案

    解决方案如下: 1.ie9以下兼容ajax跨域访问   2.ajax请求开始前添加 jQuery.support.cors = true;  允许跨域 3.ie浏览器设置允许通过域访问数据 并且 ur ...

  9. ssm项目解决AJAX跨域,ssm项目跨域访问

    最近使用ssm开发了一个项目,为了项目的开发速度,采用的是前后端同时开发,所以前端文件没有集成在项目中,最后在调试时涉及到了跨域.跨域的解决方法很多,我采用的是最简单的一种,代码如下: 新建一个过滤器 ...

最新文章

  1. spring getbean 方法分析
  2. js自动触发onclick_每日一题JS中最基本的this情况分析
  3. mysql bit类型 使用select查询无法看到其值
  4. TensorFlow实战Google深度学习框架5-7章学习笔记
  5. LeetCode 1933. 判断字符串是否可分解为值均等的子串
  6. 基于JAVA+Spring+MYSQL的家教管理系统
  7. 用python进行因式分解_python中怎么对一个数进行因式分解?
  8. 看过无数 Java GC 文章,这 5 个问题你也未必知道!
  9. ssm基于儿童教育网站答辩PPT模板
  10. ubuntu搭建Kubernetes集群(ansible,kubedam,rancher)
  11. 湖南联通云计算与IDC掀发展浪潮
  12. c语言创建一个bat文件内容,基础教程:如何创建批处理文件
  13. oracle pl/sqp 连接 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
  14. Win7如何利用系统放大镜工具更改用户密码
  15. excel去掉一行文字中的逗号合并在一起_这30个Excel实用技巧,效率大神都忍不住收藏了。...
  16. SpringBoot-注解日志 Aop注解切入点
  17. 内部环境--SWOT分析法
  18. 位移传递率matlab编程,机械振动设计计算与VB编程实例
  19. 垃圾邮件的判定标准与识别方法
  20. Algorand中基于VRF的抽签算法深入理解

热门文章

  1. 八个使前端工程师惊艳的效果设计,码否?
  2. Vue组件及自定义事件
  3. JavaScript数组常用的方法总结
  4. 表单新增元素与属性(control、placehoulder、list、AutoComplete、pattern、SelectionDirection、indeterminate属性)
  5. 微软ms10_018漏洞的利用
  6. mysql binary blob区别_SQL中binary 和 varbinary的区别 blob
  7. http https http2.0
  8. PHP后台处理jQuery Ajax跨域请求问题 — xx was not called解决办法
  9. 打印发现function toUpperCase() { [native code] }
  10. Table Dragger - 简单的 JS 拖放排序表格插件