如何从 google 脚本 url return json
How to return json from google script url
我想在下一行timeline_json中得到json值
window.timeline = new VCO.Timeline('timeline-embed', new VCO.TimelineConfig(timeline_json));
上面一行在document.ready
为了得到timeline_json,我写了一个函数。我正在按照我的代码的确切顺序粘贴代码。
function get_json(){
$.getJSON("https://script.google.com/macros/s/FILE_ID/exec", function(data) {
console.log(data);
return data;
});
}
var timeline_json=get_json();
console.log(timeline_json)
window.timeline = new VCO.Timeline('timeline-embed', new VCO.TimelineConfig(timeline_json));
在控制台中,我按此顺序获取对象
undefined
timeline.js:2950 Uncaught Invalid
index.html:78 Object {title: Object, events: Array[18]}
如果我先得到对象,那么它就可以工作。
ajax 请求默认是异步的(而且应该始终如此)。您不能 return 来自 ajax 请求回调的任何值。您可以做的是 return 从您的方法中获取承诺(ajax 请求),然后使用相关的延迟方法,例如 done()
:
function get_json() {
return $.getJSON("https://script.google.com/macros/s/FILE_ID/exec");
}
get_json().done(function (data) {
window.timeline = new VCO.Timeline('timeline-embed', new VCO.TimelineConfig(data));
});
我想在下一行timeline_json中得到json值
window.timeline = new VCO.Timeline('timeline-embed', new VCO.TimelineConfig(timeline_json));
上面一行在document.ready
为了得到timeline_json,我写了一个函数。我正在按照我的代码的确切顺序粘贴代码。
function get_json(){
$.getJSON("https://script.google.com/macros/s/FILE_ID/exec", function(data) {
console.log(data);
return data;
});
}
var timeline_json=get_json();
console.log(timeline_json)
window.timeline = new VCO.Timeline('timeline-embed', new VCO.TimelineConfig(timeline_json));
在控制台中,我按此顺序获取对象
undefined
timeline.js:2950 Uncaught Invalid
index.html:78 Object {title: Object, events: Array[18]}
如果我先得到对象,那么它就可以工作。
ajax 请求默认是异步的(而且应该始终如此)。您不能 return 来自 ajax 请求回调的任何值。您可以做的是 return 从您的方法中获取承诺(ajax 请求),然后使用相关的延迟方法,例如 done()
:
function get_json() {
return $.getJSON("https://script.google.com/macros/s/FILE_ID/exec");
}
get_json().done(function (data) {
window.timeline = new VCO.Timeline('timeline-embed', new VCO.TimelineConfig(data));
});