Javascript 如何通过p5js中的URL从JSON文件加载数据?
我正在观看关于从URL加载JSON的youtube教程,并尝试:Javascript 如何通过p5js中的URL从JSON文件加载数据?,javascript,json,processing,p5.js,Javascript,Json,Processing,P5.js,我正在观看关于从URL加载JSON的youtube教程,并尝试: function setup() { loadJSON("http://api.open-notify.org/astros.json", gotData,'jsonp'); } function gotData(data) { for(var i = 0; i<data.number;i++) print(data.people[i].name); } 函数设置(){ loadJSO
function setup() {
loadJSON("http://api.open-notify.org/astros.json", gotData,'jsonp');
}
function gotData(data)
{
for(var i = 0; i<data.number;i++)
print(data.people[i].name);
}
函数设置(){
loadJSON(“http://api.open-notify.org/astros.json“,gotData,'jsonp');
}
函数gotData(数据)
{
根据loadJSON
调用中的第三个参数('jsonp'
),对于(var i=0;i),您试图将astros.json
作为资源加载
然而,astros.json
是一个简单的json,而不是JSONP
{"number": 3, "people": [{"craft": "ISS", "name": "Chris Cassidy"}, {"craft": "ISS", "name": "Anatoly Ivanishin"}, {"craft": "ISS", "name": "Ivan Vagner"}], "message": "success"}
此外,数据类型必须位于回调之前,并且根据以下条件,数据类型也是可选的:
loadJSON(路径[jsonpOptions],[datatype],[callback],[errorCallback])
loadJSON(路径,数据类型,[callback],[errorCallback])
loadJSON(路径,回调,[errorCallback])
因此,请尝试使用值'json'
:
loadJSON("http://api.open-notify.org/astros.json", 'json', gotData);
或者只是没有它:
loadJSON("http://api.open-notify.org/astros.json", gotData);
我复制并粘贴了你的代码,至少对我来说工作正常。没有错误,我可以在浏览器(google chrome)的控制台中看到内容/数据
在我的一张草图中,我收到了与您描述的相同的错误消息,但我四处阅读发现,在我的json地址中,它写为“https://”,应该是“http://”,没有“s”。这解决了我的问题
另一个问题是:您是否使用本地主机?Internet浏览器的安全性一直在提高,这可能是导致错误的原因
也许您应该在p5编辑器中尝试这段代码,看看是否得到相同的结果。无论是否使用jsonp
参数,您的代码都可以工作,但您需要在一台计算机上运行它
丹尼尔·希夫曼有一个详细的计划
此外,您还可以安装,它将使用处理IDE为您启动本地web服务器
按下处理草图窗口右侧的Java(和向下箭头)按钮
按添加模式…
选择p5.js模式by,然后按Install
安装后,您可以将代码粘贴到新的p5.js模式处理草图中并运行它。这将为您启动本地web服务器,并在默认浏览器中打开页面
(要进行更改,我建议在处理中按save,然后刷新页面,因为再次按run将启动另一个本地web服务器)
或者,您可以尝试扩展谢谢。我只尝试了url和callback:loadJSON(“url”,gotData),但没有成功。我尝试了您建议的:loadJSON(“url”,“json”,gotData)。但是,也没有成功。