金沙网址:是一款很好的获取

JSONProxy – 获取跨域json数据工具

2015/07/10 · JavaScript
· JSON,
JSONProxy

原稿出处: 韩子迟   

JSONProxy是意气风发款很好的获得json多少的代办网址,“Enables
cross-domain requests to any JSON
API”。当您苦于不可能跨域获取json数据时,不妨生机勃勃试,说不许能一本万利。

比方那位朋友,想经过ajax获取必应的天天风流倜傥图的url(是否能够通过ajax获取“Bing天天生机勃勃图”?卡塔尔很扎眼,这么些ajax是跨域的,直接拿走会因为跨域报错;服务端也终将不会有对您本地localhost的“Access-Control-Allow-Origin”的装置,所以CORAV4S计谋也是丰富的;因为是个json数据,未有主意名包裹,所以jsonp也是不行。楼主权且还未接触过其它的跨域方法,倘使要本身去获得url,只可以通过服务端的代码,服务端去获取json数据,然后index页面去ajax需要服务端获取的json数据(这个时候index页面和服务端同源卡塔尔,代码量扩大,而要做的仅仅只是获取二个json数据啊!这个时候JSONProxy就帮您做好了服务端的劳作,是否很爽!

Easy: JSONP

原生的JavaScript:

XHTML

<script> function myCallback(data){ console.log(data); }
</script> <script
src=”;

1
2
3
4
5
6
<script>
  function myCallback(data){
    console.log(data);
  }
</script>
<script src="https://jsonp.afeld.me/?callback=myCallback&url=http://jsonview.com/example.json"></script>

myCallback函数里的data便是回到的json数据了。很显眼,服务器会帮您去乞请你供给的json数据,然后装进在你设置的回调函数名中,那时要留神的代码中的梅红两处要保持生机勃勃致,url后跟的就是索要的json数据地址。

本来JQuery封装好的章程越发简约:

XHTML

<script>
$.getJSON(”,
function(data){ console.log(data); }); </script>

1
2
3
4
5
<script>
  $.getJSON(‘https://jsonp.afeld.me/?callback=?&url=http://jsonview.com/example.json’, function(data){
    console.log(data);
  });
</script>

Easier: Cross-domain AJAX (CORS)

比jsonp更简便易行的法子是COEnclaveS(好吧,也没轻巧到哪去啊…卡塔 尔(阿拉伯语:قطر‎

XHTML

<script>
$.get(”,
function(data){ console.log(data); }); </script>

1
2
3
4
5
<script>
  $.get(‘https://jsonp.afeld.me/?url=http://jsonview.com/example.json’, function(data){
    console.log(data);
  });
</script>

那回是实在地发送了ajax乞求了,为啥跨域了还是能诉求?因为服务端设置好了。

金沙网址 1

而诉求的json数据也是服务端帮你收获的。也正是说,顾客端发送乞请,服务端剖析呼吁的url,然后服务器作为代理发送http央浼去央浼json数据(这个时候一纸空文顾客端跨域卡塔尔,再重返给客商端作为回调的参数。

Easiest: jQuery Plugin

最简便易行的,我怎么感觉越是复杂了…

略…

总计,因为要用第三方的服务器,所以既耗费时间又有不显然因素(举例服务器挂了卡塔尔国,不合适用在真的项目中,本身玩玩还可以。

1 赞 收藏
评论

金沙网址 2

相关文章