我做了相当多的搜索,感觉我的问题是回答,但我无法整合可用的答案和我的特定情况。这是我第一次使用Javascript,对于几乎可以肯定地重复一个初学者问题而言,我很抱歉,这个问题可能在非常相似的情况下得到了充分的回答。基本上,我不明白为什么在调用fishTitle后,fishDirector的var queryDir始终保持未定义的值。调用函数的返回值在调用函数中未定义
function fishDirector() {
var dir = "";
var req = new XMLHttpRequest();
var URL = "https://netflixroulette.net/api/api.php?";
var queryTypeDir "director=";
var queryDir = fishTitle();
console.log(queryDir);
console.log(dir);
req.open('GET', URL + queryTypeDir + queryDir, true);
req.addEventListener("load", function() {
var response = JSON.parse(req.responseText);
req.send(null);
});
}
在上面,我天真地试图在调用函数定义VAR目录到被调用函数进行更新,fishTitle:
function fishTitle() {
var req = new XMLHttpRequest();
var URL = "https://netflixroulette.net/api/api.php?";
var queryType = "title=";
var query = document.getElementById('form_search').value;
req.open('GET', URL + queryType + query, true);
req.addEventListener("load", function() {
var response = JSON.parse(req.responseText);
dir = dir + response.director;
console.log(dir);
return dir;
});
req.send(null);
return dir;
}
的默默,位于return语句是一种非制导努力,有匿名函数让它的调用函数知道目录是什么,然后返回给fishDirector,它叫做fishTitle。一旦匿名函数终止,我得到的印象是dir的值会丢失,但是如果是这样,我该如何才能将它从中取出?
Dumbdumbdumb。告我。
对于异步标志,'XMLHttpRequest'设置为'true'。 'load'事件之前''dir'返回''return dir'。在'var queryTypeDir“处也缺少'='”director =“;' – guest271314