我有以下(非常)简短的代码我试图开始工作。除此之外还有更多,但这是我无法开始工作的部分:
$(document).ready(function(){
getEvents: function() {
$.getJSON('/wp-json/routename/v1/shows/fri', function(data) {
var events = data;
});
}
getEvents();
console.log(events);
});
在控制台中运行它时我得到的所有东西都是"语法错误:函数语句必须有一个名字。"。我尝试简单地定义函数如下:
$(document).ready(function(){
function getEvents() {
$.getJSON('/wp-json/routename/v1/shows/fri', function(data) {
var events = data;
});
}
getEvents();
console.log(events);
});
然后我在控制台中收到一条消息,说明" ReferenceError:无法找到变量:events"。
如果我只是定义事件并向其添加JSON(即events = [{" name":" TEST"}];)而不是尝试通过a填充事件JSON调用,它就像一个魅力。
我在这里做错了什么? 非常感谢你的帮助!
答案 0 :(得分:4)
如果您只在该范围内调用一次,则无需定义getEvents
。
$(document).ready(function(){
$.getJSON('/wp-json/routename/v1/shows/fri', function(data) {
var events = data;
console.log(events);
});
});
你试图在events
可用之前登录(因为ajax调用是异步的)。
答案 1 :(得分:2)
不确定为什么你会随机尝试添加额外的语法,但看起来你要做的就是:
$(document).ready(function(){
$.getJSON('/wp-json/routename/v1/shows/fri', function(data) {
var events = data;
console.log(events);
});
});
在第一次尝试中,您试图定义一个像对象一样的函数,这并不是很有意义。在第二次尝试中,您尝试在该函数之外使用本地函数变量,而这是您无法做到的。 (你也试图在它被设置之前使用它,你也不能这样做。)