希望有人可以提供帮助。我正在学习JQuery,我一直试图从这个函数中返回一个值。
要解决我在控制台上登录数据是通过JSON正确提取的问题,那就是,它只是没有返回的值。
非常感谢任何建议!
// Get initial categories
var catstr = $.getJSON("scripts/json-categories.php",displayCategoryData);
function displayCategoryData(data) {
catResult = data;
var str ='';
for(var i=0; i<data.length;i++) {
str+= '<option value="' + data[i].id + '">' + data[i].category + '</option>';
}
console.log(str);
return str;
}
$('#category1').html(catstr);
答案 0 :(得分:1)
问题是getJSON
是异步的,因此无法返回您想要的内容,因为事实上它将在未来运行。
相反,你必须在回调函数中使用返回值做你想做的事情:
$.getJSON("scripts/json-categories.php", function displayCategoryData(data) {
catResult = data;
var str ='';
for(var i=0; i<data.length;i++) {
str+= '<option value="' + data[i].id + '">' + data[i].category + '</option>';
}
console.log(str);
$('#category1').html(str);
});