Я не хочу показаться, будто я не проводил исследования. Я использовал это в качестве примера: Передавать аргументы в обратный вызов ajax onreadystatechange?
Однако, боюсь, моя проблема связана с определением новой функции. Я не знал, как искать эту проблему, поэтому решил спросить.
Спасибо.
Следующее говорит о том, что doSomething не является функцией, когда я вызываю getOwnerList(). Цель состоит в том, чтобы getData() можно было использовать повторно, и передать любую функцию, которую я хочу воздействовать на данные.
function updateOwnerList(data) {
alert(data);
return;
}
function getOwnerList() {
getData(updateOwnerList, "getOwnerList.php");
}
function getData(doSomething, url) {
var ajax = new XMLHttpRequest();
ajax.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
var data = JSON.parse(this.responseText);
console.log(data);
doSomething(data);
}
}
ajax.open("GET", "getOwnerList.php", true);
ajax.send();
}
Редактировать: На самом деле, ответ пришел, как и ожидалось. Когда я печатаю данные, это то, что я хотел. Проблема в том, что когда я вызываю doSomething() внутри или вне функции onreadystatechange, он говорит, что функция doSomething() не существует.
Можете показать функцию
doSomething
?Сделать что-то - это просто функция, которая передается. Внутри getOwnerList() я передаю ему функцию. Я делаю это неправильно? Цель состоит в том, чтобы getData() можно было использовать повторно и чтобы я мог передать ему любую функцию.