JSON stringify не производит ожидаемый JSON - PullRequest
0 голосов
/ 17 февраля 2019

Это вопрос для всех, кто использовал Stripe.js.Я пытаюсь построить платежную систему с экспрессом и узлом.Я застрял на этой проблеме около дня.Я просто хочу опубликовать объект json с {"token":"token_val","item":"item_val"}.Я так близок к тому, чтобы сделать это, но когда я публикую данные в моем маршруте оплаты, мой объект json испорчен.Я получаю json вида {'{"token":"token_val","item":"item_val"}': ''}.

var stripeHandler = StripeCheckout.configure({
    key: stripePublicKey,
    locale: 'en',
    token: function(token){
        var cartItem = document.getElementById("Monthly").id;
        var data = [{stripeTokenId: token.id, items: cartItem}];
        fetch('/purchase', {
          method: "POST", // *GET, POST, PUT, DELETE, etc.
          mode: "cors", // no-cors, cors, *same-origin
          cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached
          credentials: "same-origin", // include, *same-origin, omit
          headers: {
            // "Content-Type": "application/json",
            "Content-Type": "application/x-www-form-urlencoded",
          },
          redirect: "follow", // manual, *follow, error
          referrer: "no-referrer", // no-referrer, *client
          body: JSON.stringify(data) // body data type must match "Content-Type" header
        })
    }
  })

Что-то не так с этим сообщением, которое вызывает проблему?Кажется, я не могу понять, почему я получаю этот ключ json obj с пустым значением.Я пробовал два разных типа контента, но, похоже, ничего не изменилось.

1 Ответ

0 голосов
/ 17 февраля 2019

Проблема была в том, что я не использовал express.json().Я добавил app.use(express.json()) в мой файл app.js, и это все исправило.Я надеюсь, что это помогает кому-то.

...