websocket / JSON newb ie здесь. У меня проблема с получением данных из функционального события. Может ли кто-нибудь мне помочь?
Похоже, сообщение отправлено на сервер правильно (правильное значение message_cart при использовании функции sendMessage ()), но возникает при получении данных.
Моя консоль :
websocket.min. js: 35 Uncaught TypeError: Невозможно прочитать свойство 'data' undefined в receiveMessage (websocket.min. js: 35)
сообщение из корзины на сервер: 10 // номер правильный
websocket.min. js: 83 WebSocket уже находится в состоянии ЗАКРЫТО или ЗАКРЫТО.
Моя паутина. js:
document.addEventListener('DOMContentLoaded', function(){
'use strict';
var ws_protocol = 'ws://';
if (window.location.protocol == "https:")
ws_protocol = 'wss://';
var ws_url = ws_protocol + window.location.host + '/ws/auctions/' + qs;
var webSocket = new WebSocket(ws_url);
var amountbutton = document.getElementsByClassName('amountButton');
var message_cart;
webSocket.onopen = sendMessage();
webSocket.onmessage = receiveMessage();
function receiveMessage(e) {
var msgData = JSON.parse(e.data);
if ('auction_data' in msgData) {
console.log("here we are, 'auction_data' in msgData");
} else if ('cart_data' in msgData) {
console.log("here we are, 'cart_data' in msgData");
}
};
function sendMessage() {
for(let i = 0; i < amountbutton.length; i++) {
amountbutton[i].onclick = (e) => {
if(!amountbutton[i].nextElementSibling) {
message_cart = amountbutton[i].previousElementSibling.value;
message_cart++;
} else {
message_cart = amountbutton[i].nextElementSibling.value;
message_cart--;
}
console.log("message from cart to server: " + message_cart);
webSocket.send(message_cart);
}
}
}
webSocket.onclose = function(e) {
console.error('Websocket closed.');
};
}, false);