我正在尝试进行一个具有两个参数的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); //未定义