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

NO IMAGE

問題描述

前端的跨域問題由來已久,暫時的主流方法是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服務停止,不夠穩定,因此正在尋找更好的跨域解決方案