我有一个淘汰赛绑定到我的功能:AJAX请求返回值后函数已经返回
<tr id="toolbarRow" data-bind="foreach: get_tabs()">
get_tabs
电话load
它使用一个Ajax请求来填充departments
变量:
get_tabs = function() {
load();
return departments;
},
这导致我出现问题,因为get_tabs
在departments
由load
填充之前返回。
这里的load
:
load = function() {
$.ajax(
{
url: _spPageContextInfo.webAbsoluteUrl + "/_api/search/query?querytext='Department:*"
+ "*'&selectproperties='Department'&sourceid='B09A7990-05EA-4AF9-81EF-EDFAB16C4E31'&sortlist='Department:ascending'",
method: "GET",
headers: {
"accept": "application/xml",
},
success: onSuccess,
error: onError
}
);
},
onSuccess = function (data) {
...populating departments variable...
},
onError = function (err) {
alert("something blew up");
},
我怎样才能保持get_tabs
无法返回,直到我的Ajax请求结束onSuccess
事件?
阿贾克斯在本质,异步。您需要添加回调处理程序以正确获取http响应返回的数据。你的load()方法是什么样的? – jgitter
'部门'应该返回Ajax的成功电话 –
@SumanBogati您能详细说明吗?我不确定在我的代码中看起来如何。 – tnw