Ajax跨域问题解决
来源:互联网 发布:windows 批处理 编辑:程序博客网 时间:2024/06/06 17:53
Ajax跨域问题解决(PHP语言)
一:使用jsonp格式, 如jquery中ajax请求参数 dataType:’JSONP’。
<script src="http://code.jquery.com/jquery-latest.js"></script><script type="text/javascript">$.ajax({ url:url, type:'GET', dataType:'JSONP', success: function(data){ console.log(data); }});</script>
二,server端通过设置Access-Control-Allow-Origin来实现跨域
例如:客户端的域名是client.example.com,而请求的域名是server.example.com。
如果直接使用ajax访问,会有以下错误:
XMLHttpRequest cannot load http://server.example.com/server.php. No ‘Access-Control-Allow-Origin’ header is present on the requested resource.Origin ‘http://client.example.com’ is therefore not allowed access.
1、允许单个域名访问
指定某域名(http://client.example.com)跨域访问,则只需在http://server.example.com/server.php文件头部添加如下代码:
header('Access-Control-Allow-Origin:http://client.example.com');
2、允许多个域名访问
指定多个域名(http://client1.example.com、http://client2.example.com等)跨域访问,则只需在http://server.example.com/server.php文件头部添加如下代码:
$origin = isset($_SERVER['HTTP_ORIGIN'])?$_SERVER['HTTP_ORIGIN']:''; $allow_origin = array( 'http://client1.example.com', 'http://client2.example.com'); if(in_array($origin, $allow_origin)){ header('Access-Control-Allow-Origin:'.$origin); }
3、允许所有域名访问
允许所有域名访问则只需在http://server.example.com/server.php文件头部添加如下代码:
header('Access-Control-Allow-Origin:*');
- ajax跨域问题解决
- Ajax跨域问题解决
- ajax跨域问题解决
- Ajax跨域问题解决(Ajax JSONP)
- Ajax跨域问题解决方案
- AJAX跨域问题解决办法
- ajax跨域问题解决方法
- Ajax跨域问题解决方案
- ajax跨域访问问题解决
- ajax跨域问题解决方案
- ajax跨域问题解决:JSONP
- ajax跨域问题解决方案
- ajax跨域问题解决方案
- ajax跨域问题解决方案
- Ajax跨域问题解决方案
- IE9版本以下ajax 跨域问题解决
- Ajax 跨域问题解决最好方案
- PHP Ajax跨域问题解决方案
- CodeForces 455A
- 解决界面失去焦点,点击button按钮,无法触发点击事件
- A
- makedown 使用方法
- RecyclerView的item高度占了整个屏幕高度的问题
- Ajax跨域问题解决
- 第四篇:JAVA之面向对象(上)
- Java基础-构造器
- 数组的应用
- C++设计模式 -> 创建型 -> 建造者(Builder)
- Java注解学习四:@Inherited的使用
- [Zabbix] Memcached 监控
- bzoj3230 相似子串(SA+lcp+二分)
- 选取截面一圈点然后沿法线生成对应形状的巷道