我做了相當多的搜索,感覺我的問題是回答,但我無法整合可用的答案和我的特定情況。這是我第一次使用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