简体   繁体   English

将ArrayBuffer作为JSON发送到PHP服务器

[英]Sending ArrayBuffer as JSON to PHP server

I am trying to send a POST request to PHP which will contain an object that has ArrayBuffer element. 我正在尝试向PHP发送POST请求,该请求将包含一个具有ArrayBuffer元素的对象。 When I JSON decode the element both ArrayBuffers objects are null/empty. 当我用JSON解码元素时,两个ArrayBuffers对象都是null / empty。

A "key" object contains 2 ArrayBuffer elements a "p256dh" and a "auth" “键”对象包含2个ArrayBuffer元素:“ p256dh”和“ auth”

The object is generated by pushSubscription object created when registering a service worker. 该对象由注册服务工作者时创建的pushSubscription对象生成。

Subscription variable: 订阅变量:

{"endpoint":"https://fcm.googleapis.com/fcm/send/dgoXscLGNKM:APA91bFcHhA2pGiatLbrhFW08oevNS81LX7C0a0zW3RP7BaJgBhij2apFxtfo8kX_kt5QE6bu5-zoYkpw50GYqOnalpFHYfpECgmIMgpVWcKGRsvUkgzM0aK_9X9HHmPIw7nqDoGK6FQ","expirationTime":null,"keys":{"p256dh":"BDQLzb281Nlw-wQzqYELodphecu7jiZD1sRd_iOCMLvK1u20Bl2-hx5EeyzEpJ0WqYvmRXnddwQHSpfC8PjEghQ","auth":"K3DI2PLDfJSAJC2DMKSqzw"}}

Code: 码:

 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);
              });
      }

Ok I found a solution When creating a pushSubscription object before passing it to fetch I needed to turn it into JSON. 好的,我找到了一个解决方案。在创建pushSubscription对象之前,将其传递给访存时,我需要将其转换为JSON。 IT created a correct string I needed to pass back to back end server. IT创建了正确的字符串,我需要将其传递回后端服务器。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM