我有一个打开与服务器连接并记录响应的函数。该函数使用XMLHttpRequest,我希望使用Web Socket代替相同的函数。这可能吗?这是我的代码:
function httpGetAsync(theUrl, callback){
let token = "ABC123";
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true);
xmlHttp.setRequestHeader('Authorization', 'Bearer ' + token);
xmlHttp.send(null);
}
到目前为止我尝试过:
function wsTest(url){
if ("WebSocket" in window) {
var ws = new WebSocket(url);
ws.onopen = function() {
ws.send('Authorization', 'Bearer ' + token);
};
ws.onmessage = function (evt) {
var received_msg = evt.data;
console.log("Message is received...");
console.log(received_msg);
};
ws.onclose = function() {
console.log("Connection is closed...");
};
}
}
我无法弄清楚如何将xmlHttp.setRequestHeader('Authorization', 'Bearer ' + token);
部分正确添加到Web Socket。