似乎不支持CORS和JSONP的Javascript API访问

时间:2012-11-01 18:07:14

标签: javascript json rest jsonp cors

我正在尝试从Javascript访问US Energy Information Administration API,但它似乎不支持跨源XMLHttpRequests或JSONP。 (例如,我可以使用< script>注入获取数据,但服务器不会在我的回调函数中包装JSON响应。)

有没有办法从既不支持CORS也不支持JSONP的API中获取数据?

(我可能只是误解和误用JSONP,所以我的代码如下:

function parseElecResponse(data) {
                var elecInfo = JSON.parse(data);
                var infoDisplay = document.getElementById("informationwindow");
                infoDisplay.innerHTML = elecInfo.results;
            }
            var electricityPricesJSONP_URL = "http://api.eia.gov/series/data/?api_key=**REDACTED**&series_id=ELEC.PRICE.CA-RES.M?callback=?parseElecResponse";
            var electricityPricesJSONP_call = document.createElement("script");
            electricityPricesJSONP_call.setAttribute("src",electricityPricesJSONP_URL);
            document.getElementsByTagName("head")[0].appendChild(electricityPricesJSONP_call);

我在网址上尝试了一些变体(如下),但似乎没有任何效果。

( “http://api.eia.gov/series/data/?api_key=...&callback=parseElecResponse”, “http://api.eia.gov/series/data/?api_key=...?callback=parseElecResponse”,“http://api.eia.gov/series/data/?api_key=...& callback =?parseElecResponse“,”http://api.eia.gov/series/data/?api_key=...?callback=“+ parseElecResponse, 和“http://api.eia.gov/series/data/?api_key=...&callback=”+ parseElecResponse)

0 个答案:

没有答案