參考博文:https://www.cnblogs.com/zhenfei-jiang/p/7065038.html
按照網上查找的資料敲了代碼
term.on('data', function(data) { // on方法 實時監控輸入的字段 console.log("send to the backend:"+data); // ws.send(data); });
出現的問題 : 輸入一個key就執行send方法發送數據給服務器,還沒輸入完就發送了。
后來換了一種方法
1 term.on('data', function(data) { 2 $("#dspTxt2").keydown(function(event){ 3 console.log(event.keyCode); 4 if (event.keyCode == 13){ 5 ws.send(data); 6 } 7 }); 8 });
也出現了問題,識別不到回車keycode,隨意按其他的鍵都有keycode,唯獨回車沒有。
問題尚未解決 考慮直接用折中的方式:在外面的<input>中輸入並獲取原定內容,按回車。直接發送至后台,后台處理完之后回傳的數據直接顯示在Terminal黑屏上。畢竟時間不夠了,基本需求先實現。后續如果有時間,再考慮換成xterm.js的方式。
補坑更新:
請參考本人這篇博文 --》https://www.cnblogs.com/JanSN/p/11578485.html
這里當我們在 term 輸入數據時,你輸入的每一個字符每一個鍵值都是傳到后台,由后台傳到另一台遠程終端。
然后,從遠程終端上抓到輸出回傳到后台,后台回傳到前端顯示的。即你在前端的終端中輸入一個a, 你看到它顯示在界面終端上了,但其實它是經歷了一個過程之后從遠程終端回來的。而不是像輸入框那樣,你打一個字就顯示在上面一樣。