我对此JavaScript函数有疑问。我正在尝试做的是,使用ajax调用查找特定的“材料描述”。当我尝试console.log ajax函数时,将显示数据。但是,当我设置为数组时,它不会设置数组值并被跳过。使用“异步:假”给我这个警告:
不赞成在主线程上使用同步XMLHttpRequest,因为它会对最终用户的体验产生不利影响。
没有异步将给我未定义的结果。
KstestResult(statistic=nan, pvalue=nan)
谢谢,谢谢。
答案 0 :(得分:1)
您需要提供一个回调函数,该函数将在ajax调用完成后执行:
function setMatDesc(MatID, calback) {
var result
$.ajax({
url: '@Url.Action("Get_MatDesc")',
type: 'GET',
async: false,
data: { MatID: MatID },
success: function (data) {
callback(data); // note this
},
error: function (xhr) {
alert('error');
}
});
}
在通话结束时就像:
setMatDesc(splitted[0],function(result) {
splitted = result;
splitted[arrayCnt + 1];
splitted[arrayCnt + 1] = currentDate;
});
代码可能无法正常工作,因为我尚未测试过,但这是从执行ajax调用的函数返回数据的方法,因为ajax调用是异步执行的,并且该函数在ajax调用从服务器完成返回之前执行主体。