我正在尝试从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)