异步 xml 请求不 return
asynchronous xml request doesn't return
所以我正在尝试将同步 xml 请求重写为异步 xml 请求。我对此很陌生,所以如果错误真的很愚蠢,请原谅我。
无论如何,这就是我目前所拥有的。
var getEmployeeData = function(section, question, column){
var xhr = new XMLHttpRequest();
xhr.open("GET", Data.contextPath + "/main/?action=get-employee-list§ion=" +section+ "&question=" +question+ "&column=" +column, true)
xhr.onload = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
if (employeeDataDone) {
if (xhr.responseText==("\r\n")) {
employeeList = null;
employeeInverseList = null;
} else {
employeeList = JSON.parse(xhr.responseText)[0];
employeeInverseList = JSON.parse(xhr.responseText)[1];
}
}
} else {
console.error(xhr.statusText);
}
}
}.bind(this);
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
xhr.send(null);
}.bind(this);
感谢任何帮助,如果您需要我忽略包含的任何额外信息,只需提出要求即可。
谢谢!
您应该正在侦听 onreadystatechange 事件或将具有该名称的函数附加到对象。以下应该可以解决您的问题:
var getEmployeeData = function(section, question, column){
var xhr = new XMLHttpRequest();
xhr.open("GET", Data.contextPath + "/main/?action=get-employee-list§ion=" +section+ "&question=" +question+ "&column=" +column, true)
xhr.onreadystatechange = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
if (employeeDataDone) {
if (xhr.responseText==("\r\n")) {
employeeList = null;
employeeInverseList = null;
} else {
employeeList = JSON.parse(xhr.responseText)[0];
employeeInverseList = JSON.parse(xhr.responseText)[1];
}
}
} else {
console.error(xhr.statusText);
}
}
}.bind(this);
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
xhr.send(null);
}.bind(this);
编辑:
有关详细信息,我建议查看维基百科 entry for XMLHttpRequest。
所以我正在尝试将同步 xml 请求重写为异步 xml 请求。我对此很陌生,所以如果错误真的很愚蠢,请原谅我。
无论如何,这就是我目前所拥有的。
var getEmployeeData = function(section, question, column){
var xhr = new XMLHttpRequest();
xhr.open("GET", Data.contextPath + "/main/?action=get-employee-list§ion=" +section+ "&question=" +question+ "&column=" +column, true)
xhr.onload = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
if (employeeDataDone) {
if (xhr.responseText==("\r\n")) {
employeeList = null;
employeeInverseList = null;
} else {
employeeList = JSON.parse(xhr.responseText)[0];
employeeInverseList = JSON.parse(xhr.responseText)[1];
}
}
} else {
console.error(xhr.statusText);
}
}
}.bind(this);
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
xhr.send(null);
}.bind(this);
感谢任何帮助,如果您需要我忽略包含的任何额外信息,只需提出要求即可。
谢谢!
您应该正在侦听 onreadystatechange 事件或将具有该名称的函数附加到对象。以下应该可以解决您的问题:
var getEmployeeData = function(section, question, column){
var xhr = new XMLHttpRequest();
xhr.open("GET", Data.contextPath + "/main/?action=get-employee-list§ion=" +section+ "&question=" +question+ "&column=" +column, true)
xhr.onreadystatechange = function (e) {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
if (employeeDataDone) {
if (xhr.responseText==("\r\n")) {
employeeList = null;
employeeInverseList = null;
} else {
employeeList = JSON.parse(xhr.responseText)[0];
employeeInverseList = JSON.parse(xhr.responseText)[1];
}
}
} else {
console.error(xhr.statusText);
}
}
}.bind(this);
xhr.onerror = function (e) {
console.error(xhr.statusText);
};
xhr.send(null);
}.bind(this);
编辑: 有关详细信息,我建议查看维基百科 entry for XMLHttpRequest。