这里是主动学习者。我想通过ajax调用检索数据,然后在另一个函数中使用返回的数据。我了解到,ajax调用是异步的,因此尝试使用回调无济于事。 It looks like在我的Ajax调用中调用我的主要功能是唯一的方法吗?这是正确的说法吗? This post使我相信,只需将函数定义为变量,然后就可以将变量用作返回的数据。这就是我在下面的代码段中尝试过的方法。我的getChoiceControl函数中的控制台日志正在运行,但是设置为该函数的变量的控制台日志出现“未定义”。假设此问题与异步行为有关,我实际上是在尝试理解异步调用以及如何使用数据。我已经阅读了很多有关in的文章,但是由于事实上当我尝试进行回调时,回调也失败了,我想知道我所掌握的知识中是否仅仅存在其他差距。预先感谢!
function createHTML(data){
var tester = getChoiceControls();
console.log(tester);
var arr = data.d.results;
var container = $('.container');
var categoryLinksContainer = $('<div class="wrapTest" />');
for(var i in arr){
var item = arr[i];
var title = item.Title;
categoryLinksContainer.append(
'<div class="test">'+title+'</div>'
);
}
categoryLinksContainer.appendTo(container);
}
function getChoiceControls(){
$.ajax({
url: _spPageContextInfo.siteServerRelativeUrl+"/_api/web/lists/GetByTitle('TestList')/fields?$filter=(Title eq 'TestColumn')",
type: "GET",
headers: {
"accept": "application/json;odata=verbose",
},
success: function (data) {
console.log(data);
return data;
},
error: function (error) {
console.log(JSON.stringify(error));
}
});
}