gpt4 book ai didi

javascript - ajax调用后数据丢失

转载 作者:行者123 更新时间:2023-12-01 01:54:41 32 4
gpt4 key购买 nike

在前两次 ajax 调用之后,我又接到一次 ajax 调用。我需要将这些调用的结果传递给新的调用,因此我执行以下操作

    $.when(getRespData(), getAxisComponents()).done(function (respData, axisData) {
var a = respData; //everything is ok
var b = axisData; //everything is ok
$.ajax({
dataType: "json",
url: '/rest/visualization/' + taskName + '/workload?runName=' + runName+ '&type=' + 'VAL',
success: (function (data) {
var c = respData; //everything is ok
var d = axisData; // Uncaught ReferenceError: axisData is not defined
}

但是当我尝试在新的 ajax 调用中获取 axisData 时,我遇到了 Uncaught ReferenceError,尽管 respData 的操作没问题。我的前 2 个 ajax 调用看起来像

function getRespData() {
return $.ajax({
dataType: "json",
url: '/rest/visualization/' + taskName + '/workload?runName=' + runName + '&type=' + 'RESP',
success: (function (data) {
return data;
})
});

}

function getAxisComponents() {
return $.ajax({
dataType: "json",
url: '/rest/visualization/' + taskName + '/workload/axis?runName=' + runName,
success: (function (data) {
return data;
})
});

}

其中 runName、type、taskName 是包含所有这些 ajax 调用的函数的一些参数。如何修复此错误,以便我能够在内部 ajax 调用中访问 respData 和 axisData?

最佳答案

我解决了这个问题,将 async 设置为 false 并在 ajax 调用中声明一个数组,如下所示

let array = [];
$.ajax({
url: path,
type: 'GET',
async: false,
dataType: 'json',
success: function(response){
array = response;
}
});
return array;

关于javascript - ajax调用后数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33631013/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com