首页 > Web开发 > 详细

JSON、JSONP、Ajax的区别

时间:2017-03-29 00:07:24      阅读:237      评论:0      收藏:0      [点我收藏+]

介绍一种不是通过js实现跨域的方式: 通过服务器端代理实现。

具体的思路:由于浏览器有同源策略限制,(同源策略即:https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy),所以想要跨域访问其他域下的资源,需要绕开浏览器的这个限制,可以在服务器端设置一个代理,由服务器端向跨域下的网站发出请求,再将请求结果返回给前端,成功避免同源策略的限制。

具体操作如下:

1、在localhost:81/a.html中,向同源下的某个代理程序发出请求

$.ajax({
    url:‘/proxy.php?name=hello&info=information‘,   //服务器端的代理程序
    type:‘GET‘,
    success:function (){}

})

2、在代理程序proxy.php中,向非同源下的服务器发出请求,获得请求结果,将结果返回给前端。

<?php 
$name=$_GET[‘name‘];
$info = $_GET[‘info‘];
$crossUrl = ‘http://b.com/sub?name=‘.$name;   //向其他域下发出请求
$res = file_get_contents($crossUrl);
echo $res; 
 ?>

跨域资源共享 CORS 详解

参考:http://www.ruanyifeng.com/blog/2016/04/cors.html

 

CORS与JSONP的使用目的相同,但是比JSONP更强大。

JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

JSON、JSONP、Ajax的区别

原文:http://www.cnblogs.com/dehuachenyunfei/p/6637445.html

(0)
(0)
   
举报
评论 一句话评论(0
分享档案
最新文章
教程昨日排行
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!