我正在组建一个D3.JS可视化,作为其中的一部分,我创建了一个MongoDB数据库,并通过我的webservice上的API端点公开它。我正在使用Python Flask
来执行此操作。
我已经验证发出的数据是有效的JSON格式,我确保将MIME类型设置为application/json
。但是,在访问相关网址时,当我尝试使用d3.json
调用该网址时,一切正常:
d3.json("http://127.0.0.1:5000/citibike-api/bike-inbounds/id/72", function (data, error) {
if(error) throw error;
console.log(data);
});
控制台对我大吼:
uncaught exception: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
我是否还需要做其他事情才能使此请求有效?
我是否需要使用JSONP
来执行此操作?
答案 0 :(得分:2)
与data
交换error
。而不是:
d3.json("http://127.0.0.1:5000/citibike-api/bike-inbounds/id/72", function (data, error) {
if(error) throw error;
console.log(data);
});
应该是:
d3.json("http://127.0.0.1:5000/citibike-api/bike-inbounds/id/72", function (error, data) {
if(error) throw error;
console.log(data);
});
<强>解释强>
根据API,d3.json
...
...使用两个参数调用回调:错误(如果有)和解析的JSON
参数error
是可选的。你可以写:
function (data){
但是,如果使用参数error
,则序列必须为:
function (error, data){