【发布时间】:2021-01-05 11:21:28
【问题描述】:
在前两个之后我有一个 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?
【问题讨论】:
-
您确定
axisData是否已设置? ajax 调用成功了吗? -
是的,我的 ajax 调用运行成功。我需要“返回数据”只是为了从响应中获取一些 json 数据
-
你写了
everything is ok。请检查console.log(respData)和console.log(axisData)的输出。它们是有效的 json 对象吗? -
似乎在这里工作正常 - jsfiddle.net/dq5515pd/8
标签: javascript jquery ajax