将XMLHttpRequest转换为Web Socket

时间:2018-04-25 13:41:05

标签: javascript websocket

我有一个打开与服务器连接并记录响应的函数。该函数使用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。

0 个答案:

没有答案