Здравствуйте! Я использую Ionic Framework и Express для связи между моим приложением, серверным API и игрой на JavaScript. Игра отправляет некоторую информацию в API с помощью XMLHttpRequest и отправляет, и мое приложение получает эту информацию, используя Http из angular / http.
Почтовая часть работает хорошо, и я могу отправить информацию на сервер, но я борюсь с получением части. Метод get вызывается каждый раз, когда обновляется моя страница, но в настоящее время игра не отправляет данные, и когда это происходит, метод get больше не вызывается, поэтому я никогда не получаю данные с сервера.
игра отправляет такую информацию:
function sendFriendToInvite(friend, callback) {
var req = new XMLHttpRequest();
req.open('POST', 'http://localhost:3001/sendInvite');
req.setRequestHeader('Content-Type', 'application/json');
req.send(JSON.stringify({friend: friend}));
req.addEventListener('load', () => {
console.log(req.responseText);
var results = JSON.parse(req.responseText);
//if(results.error) return console.log(results.error);
if(callback) callback(results);
});
req.addEventListener('error', (e) => {
console.log('an error occured');
console.log(e);
});
}
метод получения и отправки сервера:
var friendToInvite;
/**Send from the game**/
api.post('/sendInvite', function(req, res) {
console.log("posts! " + req.body.friend);
friendToInvite = req.body.friend;
res.send({message: 'friend reçu'})
});
/**retrive by the application **/
api.get('/sendInvite', function(req, res) {
console.log("get friend to invite");
//here I need friendToInvite be initialised by the post method before sending the response
res.json({friend: friendToInvite});
});
приложение получает такую информацию:
this.http.get('http://localhost:3001/sendInvite').pipe(
map(res => res.json())
).subscribe(response => {
console.log('GET Response:', response);
});
Я хочу, чтобы приложение получало данные, когда игра отправляет данные.