gpt4 book ai didi

javascript - 从 ajax 调用中的 ajax 调用取回数据

转载 作者:行者123 更新时间:2023-11-28 00:40:18 26 4
gpt4 key购买 nike

我需要一些帮助来弄清楚如何从第二个 ajax 调用而不是第一个 ajax 调用中获取数据。

我有这个方法来调用我的ajax调用

var projectWithIssues = getProjects().done(function(result) {
....
}

当我查看结果时,我得到了第一次 ajax 调用的结果(getEnt_PodType().done())。我想从 getProjects() 中的第二个 ajax 调用获取结果。我明白我得到第一个结果的原因是因为我在第一个 ajax 调用中得到了返回。但是,如果我没有返回那里。我在上面的行中得到一个未定义的信息。如何从第二次调用返回数据?

function getEnt_PodType() {
var ent_PodType;
var oDataUrl = //URL to my data;
return $.ajax({
url: oDataUrl,
type: "GET",
async: true,
beforeSend: function (xhr) {
xhr.setRequestHeader("ACCEPT", accept);
},
success: function (xhr, textStatus) {

}
});
}


function getProjects() {

return getEnt_PodType().done(function (res) {
var ent_PodType;

if (res.d.results != undefined) {
ent_PodType = res.d.results[0].Ent_PodType;
}
console.log("The ent pod type value is " + ent_PodType);

var QUERY_FILTER =
"$filter=Ent_PodType eq '" + ent_PodType + "'";

var url = restUrl + QUERY_FILTER;

// I want to return the results from this ajax call
$.ajax({
url: url,
type: "GET",
async: true,
beforeSend: function (xhr) {
xhr.setRequestHeader("ACCEPT", accept);
},
success: function (xhr, textStatus) {
//projects = parseODataResultTest(xhr);
//return projects;
}
});
});
}

提前致谢!

最佳答案

尝试利用 deferred.then 中找到的模式

// first request
var request = $.ajax(url1),
chained = request.then(function( data ) {
console.log(data) // first request response data
// return second request
return $.ajax(url2)
});

chained.then(function( data ) {
console.log(data) // second request response data
// data retrieved from url2 as provided by the first request
});

    var request = $.ajax("https://gist.githubusercontent.com/guest271314/23e61e522a14d45a35e1/raw/62775b7420f8df6b3d83244270d26495e40a1e9d/ticker.json"), // first request , `html` document
chained = request.then(function( data ) {
console.log(data) // `["abc"]`
// return `data` from second request
return $.ajax("https://gist.githubusercontent.com/guest271314/6a76aa9d2921350c9d53/raw/49fbc054731540fa68b565e398d3574fde7366e9/abc.txt")
});

chained.then(function( data ) {
console.log(data) // `abc123`
// data retrieved from url2 as provided by the first request
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - 从 ajax 调用中的 ajax 调用取回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026272/

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