Отправка ArrayBuffer в виде JSON на сервер PHP - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь отправить запрос 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);
              });
      }

1 Ответ

0 голосов
/ 04 сентября 2018

Хорошо, я нашел решение При создании объекта pushSubscription перед передачей его для извлечения мне нужно было превратить его в JSON. Он создал правильную строку, которую мне нужно было передать обратно на сервер.

...