JSON Stringify没有产生预期的JSON

时间:2019-02-17 17:21:22

标签: json stripe-payments stringify

对于使用过Stripe.js的任何人来说这都是一个问题。我正在尝试用express和node建立支付系统。我已经在这个问题上停留了大约一天。我只想发布一个{"token":"token_val","item":"item_val"}的json对象。我非常接近完成它,但是当我将数据发布到我的付款路线时,我的json对象就搞砸了。我正在获取{'{"token":"token_val","item":"item_val"}': ''}形式的json。

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 :(得分:0)

问题是我没有使用express.json()。我将app.use(express.json())添加到了我的app.js文件中,这解决了所有问题。我希望这可以帮助别人。