[debug]jsonp 403 forbidden 通用解决方案

问题描述

前端的跨域问题由来已久,暂时的主流方法是CORS和JSONP,在jsonp的使用过程中经常发现各种问题,例如get error aborted,403 forbidden等等。
而且就代码美观来说,硬生生把回调函数callback封装在url中,然后再将url硬生生塞进script中直觉上也不合理。所以有时候不得不采用服务器代理,但是这又增加了不少工作量,如果是大公司进行统一的管理调度还行,个人开发者还是觉得麻烦,难道就没有一次性解决跨域问题同时操作还简洁的方法么?
PS:CORS确实应该是主流的解决方法,不过也需要前后端的配置,目前基本上市面上各种API,或免费,或收费,各类层次不齐,所以目前还是应用jsonp的代理方案最为稳妥。


解决方案

来源:https://cors.io/

The Problem: No ‘Access-Control-Allow-Origin’ header is present on the
requested resource. Origin ‘http://internet.derp’ is therefore not
allowed access.

解决方案就是: 一个CORS 代理!

$.getJSON(‘https://blockchain.info/stats?format=json‘,function(){})

变成:

$.getJSON(‘https://cors.io/?https://blockchain.info/stats?format=json‘,function(){})

send hatemail to @deanpierce

PS:昨天刚发布,晚上发现http://cors.io服务停止,不够稳定,因此正在寻找更好的跨域解决方案

猜你喜欢

转载自blog.csdn.net/u011077672/article/details/78936511
今日推荐