Fetch: Sever mit php
time
fetch ... response
Source /home/ch45859/web/wlkl.ch/public_html/inf/php/f02Fetch.php
<html>
<head>
<title><?php $cnt=7; echo basename(__file__, '.php'); ?></title>
<script type="text/javascript">
const outLi = [];
function out(t) {
outLi.unshift(new Date().toTimeString().substring(0,8) + ' ' + t);
while (outLi.length > 10)
outLi.pop();
document.getElementById('out').innerHTML = outLi.reduce((a, c) => a + '<li>' + c + '</li>', '');
}
function fetchSleep(t) {
out('fetch sleep ' + t);
var m = '';
fetch("f02FetchServer.php?sleep=" + t)
.then((response) => { m = response.ok ? 'response ok' : 'response status ' + response.status + ' ' + response.statusText; return response.text();}
,(response) => { out('reject: ' + response);}
)
.then((txt) => out(m + ' text ' + txt));
/* else out('response bad ' + response.status + ' ' + response.statusText);
}
,(txt) => { if (response.ok) out('reject ok ' + response.text());
else out('reject bad ' + response.status + ' ' + response.statusText);
}
); */
}
function cOpen() {
if (cSock !== null)
return out('client open, but already open');
try {
cSock = new WebSocket(sockUri);
cSock.onmessage = (event) => out("received: " + event.data);
cSock.onerror = (event) => cOut(event);
out('client open setup');
} catch (e) {out('catch opening ' + e)}
}
function cOut(event) {
var m = "sock error: " + event.constructor.name + ' ' + event.type + ':';
for (const p in event)
m += ', ' + p + '=' + event[p];
out(m + ' * ' + event);
}
function cClose() {
if (cSock === null)
return out('client close, but already closed');
const c = cSock;
cSock = null;
c.close();
out('client closed');
}
function cSend() {
/* out('readyState ' + cSock.readyState); */
if (cSock === null)
return out('client send, but socket notopen');
const t = document.getElementById('cTxt').value;
const m = 'client send ' + t + " #" + ++cnt + " at " + Date().toString();
cSock.send(m);
out(m);
}
</script>
</head>
<body>
<h1>Fetch: Sever mit php</h1>
time <input type="text" id="iTime" maxlength="5" size="5" />
<input type="button" value="fetch sleep" onclick="fetchSleep(document.getElementById('iTime').value);" />
<br>fetch ... response
<ul id="out"></ul>
<h1>Source <?php echo __file__; ?> </h1>
<?php $_POST = []; highlight_file(__file__) ?>
</body>
</html>