webtty: switch all server responses to JSON.
This commit is contained in:
parent
71d43603a9
commit
b6bf7038ca
2 changed files with 38 additions and 36 deletions
45
shterm.js
45
shterm.js
|
|
@ -119,23 +119,20 @@ function getData() {
|
|||
var datareq = new XMLHttpRequest();
|
||||
datareq.onreadystatechange = function () {
|
||||
if (datareq.readyState == 4 && datareq.status == 200) {
|
||||
var datalines = datareq.responseText.split("\n");
|
||||
if (!datalines[0]) {
|
||||
var response = JSON.parse(this.responseText);
|
||||
if (!response.t)
|
||||
return;
|
||||
else if (response.t == "E") {
|
||||
if (response.c == 1) {
|
||||
termemu.alive = false;
|
||||
debug(1, "Server error: " + response.s);
|
||||
}
|
||||
}
|
||||
else if (datalines[0] == "E1") {
|
||||
termemu.alive = false;
|
||||
return;
|
||||
}
|
||||
else if (datalines[0].charAt(0) != 'd') {
|
||||
return;
|
||||
}
|
||||
if (datalines[1]) {
|
||||
writeData(datalines[1]);
|
||||
ajaxstate.gotdata();
|
||||
}
|
||||
else {
|
||||
else if (response.t == "n")
|
||||
ajaxstate.gotnothing();
|
||||
else if (response.t == "d") {
|
||||
writeData(response.d);
|
||||
ajaxstate.gotdata();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -147,18 +144,21 @@ function getData() {
|
|||
|
||||
function postResponseHandler() {
|
||||
if (this.readyState == 4 && this.status == 200) {
|
||||
var datalines = this.responseText.split("\n");
|
||||
if (!datalines[0])
|
||||
var response = JSON.parse(this.responseText);
|
||||
if (!response.t || response.t == "n")
|
||||
return;
|
||||
else if (datalines[0] == "E1") {
|
||||
termemu.alive = false;
|
||||
else if (response.t == "E") {
|
||||
if (response.c == 1) {
|
||||
termemu.alive = false;
|
||||
debug(1, "Server error: " + response.s);
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (datalines[0].charAt(0) != "d")
|
||||
else if (response.t != "d")
|
||||
return;
|
||||
/* It is a data message */
|
||||
if (datalines[1]) {
|
||||
writeData(datalines[1]);
|
||||
if (response.d) {
|
||||
writeData(response.d);
|
||||
}
|
||||
ajaxstate.posted();
|
||||
return;
|
||||
|
|
@ -301,7 +301,6 @@ function login(h, w) {
|
|||
var req = new XMLHttpRequest();
|
||||
req.onreadystatechange = function () {
|
||||
if (req.readyState == 4 && req.status == 200) {
|
||||
var datalines = req.responseText.split("\n");
|
||||
var logindict = JSON.parse(req.responseText);
|
||||
if (logindict.login) {
|
||||
/* Success */
|
||||
|
|
@ -324,8 +323,8 @@ function stop() {
|
|||
var req = new XMLHttpRequest();
|
||||
req.onreadystatechange = function () {
|
||||
if (req.readyState == 4 && req.status == 200) {
|
||||
var datalines = req.responseText.split("\n");
|
||||
/* Figure out whether or not it worked. */
|
||||
/* FIXME the server might respond with output. */
|
||||
termemu.alive = false;
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue