Ajax跨域访问
来源:互联网 发布:sql 日期格式 编辑:程序博客网 时间:2024/06/15 18:29
Ajax跨域访问
Ajax跨域,简单来说就是一个网站调用另一个网站提供的数据。但是因为存在浏览器的“同源策略”,并不能直接实现。同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。跨域实现有以下方式:
1.jsonp
jsonp(填充式JSON或参数式JSON)是应用JSON的一种新方法,是被包含在函数调用中的JSON。可在$.ajax方法中设置dataType:jsonp
前台HTML页面:
<body> <script type="text/javascript"> $.ajax({ url:'http://www.a67.com/jsonp.php', type:'get',//jsonp方式必须使用get方式 dataType:'jsonp',//返回值类型必须设置为jsonp jsonp:'fn',//jsonp跨域的传参,是一个随机数 success:function(msg){ alert(msg.id+" "+msg.name); } }) </script></body>
后台PHP程序:
<?php// 接收跨域的随机数$fn = $_GET['fn'];// 定义返回值$arr = array('id'=>101,'name'=>'zs');// 输出返回值$str = json_encode($arr);echo $fn."($str)";
2.cors
使用cors策略,Cross-Origin Resource Sharing 跨域资源共享
前台HTML页面:
<body>
<script type="text/javascript">
$.ajax({
url:'http://www.a67.com/cors.php',
type:'post',//类型使用get post均可
dataType:'text',//返回值类型就是一般的text
success:function(msg){
alert(msg);
}
})
</script>
</body>
后台PHP程序:
<?php// 设置http://www.alishow.com网站下的所有程序都能访问当前页面header('Access-Control-Allow-Origin:http://www.alishow.com');// header('Access-Control-Allow-Origin:http://www.alishow.com,http://www.ajax.com.cn');// 设置所有网站都可以访问当前页面// header('Access-Control-Allow-Origin:*');// 设置POST和GET访问方式均可header('Access-Control-Allow-Methods:POST,GET');echo '123';
阅读全文
0 0
- Ajax跨域访问
- ajax跨域访问?
- Ajax跨域访问
- ajax跨域访问
- ajax跨域访问
- ajax跨域访问
- AJAX跨域访问
- AJAX跨域访问
- Ajax跨域访问
- ajax跨域访问
- Ajax跨域访问
- ajax跨域访问
- Ajax 跨域访问
- ajax跨域访问
- ajax跨域访问
- AJAX-跨域访问
- ajax 跨域访问
- ajax 跨域访问
- python3 27270网站美女爬虫(二)
- 数据库知识点梳理
- 序言
- 文档总结5-linux用户管理及权力下放
- SpringBoot hello
- Ajax跨域访问
- UVA 400 Unix Is
- 英语语法基础篇-书写规则
- Coursera 吴恩达 Deep Learning 第2课 Improving Deep Neural Networks 第一周 编程作业代码 Initialization
- 准备到的中秋节
- opencv小问题
- UVa221 Urban Elevations 细述原理
- Manthan, Codefest 17 B. Marvolo Gaunt's Ring(前后缀/dp)
- POJ 3985 Knight's Problem(bfs+hash+剪枝)