Я пытаюсь отправить запрос POST в PHP, который будет содержать объект с элементом ArrayBuffer. Когда я JSON декодирую элемент, оба объекта ArrayBuffers имеют значение null / empty.
Объект «ключ» содержит 2 элемента ArrayBuffer: «p256dh» и «auth»
Объект создается объектом pushSubscription, созданным при регистрации работника службы.
Переменная подписки:
{"endpoint":"https://fcm.googleapis.com/fcm/send/dgoXscLGNKM:APA91bFcHhA2pGiatLbrhFW08oevNS81LX7C0a0zW3RP7BaJgBhij2apFxtfo8kX_kt5QE6bu5-zoYkpw50GYqOnalpFHYfpECgmIMgpVWcKGRsvUkgzM0aK_9X9HHmPIw7nqDoGK6FQ","expirationTime":null,"keys":{"p256dh":"BDQLzb281Nlw-wQzqYELodphecu7jiZD1sRd_iOCMLvK1u20Bl2-hx5EeyzEpJ0WqYvmRXnddwQHSpfC8PjEghQ","auth":"K3DI2PLDfJSAJC2DMKSqzw"}}
Код:
function sendSubscriptionToBackEnd(subscription, end_point) { return fetch (end_point, { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(subscription)}) .then((res) => { return res.json(); }) .then((resJSON) =>{ return resJSON; }) .catch((err) => { console.log('Fetch Error : ', err); }); }
Хорошо, я нашел решение При создании объекта pushSubscription перед передачей его для извлечения мне нужно было превратить его в JSON. Он создал правильную строку, которую мне нужно было передать обратно на сервер.