JavaScript:一个接一个地执行多个REST调用的正确方法
我需要一个接一个地执行三个REST调用。。。阅读文档后,我了解到要链接它们,我必须使用JavaScript:一个接一个地执行多个REST调用的正确方法,javascript,ajax,rest,Javascript,Ajax,Rest,我需要一个接一个地执行三个REST调用。。。阅读文档后,我了解到要链接它们,我必须使用pipi或then(这是pipe的别名)。我对JavaScript非常陌生,我想知道下面的代码片段是否正确: var baseUrl = "http://localhost:9000/auth"; var appId = this.appId $.ajax({ type: "GET", url: baseUrl + "/apps/" + appId + "/apikey" }).then(functio
pipi
或then
(这是pipe
的别名)。我对JavaScript
非常陌生,我想知道下面的代码片段是否正确:
var baseUrl = "http://localhost:9000/auth";
var appId = this.appId
$.ajax({
type: "GET",
url: baseUrl + "/apps/" + appId + "/apikey"
}).then(function(data) {
log("apiKey: " + data.apiKey);
$.ajax({
type: "POST",
data: JSON.stringify({ principal: appId, secret: data.apiKey }),
url: baseUrl + "/apps/credentials",
contentType: "application/json"
}).then(function(data) {
log("token: " + data.token);
$.ajax({
type: "GET",
headers: { "Authorization": "Token " + this.value },
url: baseUrl + "/users/credentials"
}).then(function(data) {
log("tokeType: " + data.token.header.typ.split('/')[1]);
log("exp: " + data.token.claims.exp);
})
})
});
如您所见,每个调用都需要上一个调用返回的数据。任何改进建议都是非常受欢迎的。使用,无论ajax调用成功还是失败,您都会收到一个回调,这可能并不理想,因为您依赖于它的成功。如果只希望在成功时回调(即,success
参数)
除此之外,没关系