1
大家晚上好。我知道這對於很多人來說似乎是一個非常容易的主題,但我一直在努力重建我有的功能,以使其在整個網站範圍內具有動態性和可重用性。使用Javascript通過嵌套函數返回數組
我在使用下面是返回一個數組的主要鬥爭:
var arr = getData("admin/fullDatabaseAccess.php");
預期這不會返回數組。現在,不用寫什麼,我試圖返回它創建數組沒有到的getData功能每一個可能的變化,我會先告訴您哪些工作原有的功能:
function getData() {
var xmlhttp = new XMLHttpRequest();
var url = "admin/fullDatabaseAccess.php";
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
processResponse(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
function processResponse(response) {
var arr = JSON.parse(response);
// do stuff with the array - I originally modified the DOM using jQuery here, however I now want to use this entire getData function as a more generically useful function
}
}
然後,我會在我使用此代碼的單個頁面上觸發getData函數以生成數組,然後使用數組數據修改頁面元素。
這使我我的問題 - 我試圖通過下面創建此版本,以及使用該代碼線I張貼在第一(VAR ARR =調用陣列數據,使這個功能重複使用的整個站點。 。):
function getData(file) {
var xmlhttp = new XMLHttpRequest();
var url = file;
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
processResponse(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
function processResponse(response) {
var arr = JSON.parse(response);
return arr;
}
}
我似乎無法將數據反饋給變量。我已經嘗試過很多重構功能,返回巢內的值等,但我已經到了我迷惑自己,並不能真正展現我試過的例子,因爲我刪除了他們,並決定重新開始。
任何幫助將不勝感激!
我很欣賞這個! processResponse()上的回調特定是我從未創建的缺失鏈接!感謝您的幫助 - 一切都運作完美。 – buzzkip