使用Java脚本中另一个调用的结果进行API调用

时间:2019-06-13 22:05:20

标签: javascript api

我正在尝试进行一个具有两个参数的API调用,每个参数都是API调用本身中的查询。我在使两个参数不被定义时遇到麻烦。

我试图单独调用函数,将它们匿名设置为变量,甚至将其设置为全局。

我有3个函数,一个是onclick,它基于选择菜单项的值设置一个libraryDocId。另一个是GET API调用,它使用libraryDocId来获取documentId。我遇到的最后一个麻烦是使用libraryDocId和documentId作为参数来返回该文档的图像URL。

下拉菜单的onchange功能,用户可以在其中选择图书馆文档

(A$Col1-B$Col2)[A$Col2==B$Col1]

获取imageId并将其作为documentId返回

$(document).on("change", "select", function() {
  $("option[value=" + this.value + "]", this)
    .attr("selected", true)
    .siblings()
    .removeAttr("selected");
});

function chooseLib() {
  var e = document.getElementById("libraryDocumentsSelectMenu");
  var x = e.options[e.selectedIndex].innerHTML;
  var y = e.options[e.selectedIndex].value;
  AgreementInfo.fileInfos[0].libraryDocumentId = y;
  AgreementInfo.name = x;
  libDocId = e.options[e.selectedIndex].value;

  console.log(libDocId);
}

试图返回imageUrl,但它显示我的参数未定义

function getDocumentId(_chooseLib) {
  var request = new XMLHttpRequest();

  request.open(
    "GET",
    `https://some.api.link`,
    true
  );

  request.setRequestHeader(
    "Authorization",
    "some authorization code"
  );

  request.onload = function() {
    //begin accessing JSON data here
    var data = JSON.parse(this.response);

    if (request.status >= 200 && request.status < 400) {
      documentId = data.documents[0].id;
      console.log(documentId);
      return documentId;
    } else {
      console.log(data);
    }
  };

  request.send();
}

当我使用参数调用getLibraryDocumentsImageUrl时,期望通过imageUrl显示JSON数据。

我收到的错误消息如下:
console.log(libDocId); //一些图书馆文件ID
console.log(documentId); //未定义

0 个答案:

没有答案