JSON stringify 没有产生预期的 json
JSON stringify not producing expected json
这是给任何使用过 Stripe.js 的人的问题。我正在尝试用 express 和 node 构建一个支付系统。我在这个问题上被困了大约一天。我只想 post 一个带有 {"token":"token_val","item":"item_val"}
的 json 对象。我非常接近完成它,但是当我 post 到我的支付路径的数据时,我的 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
})
}
})
是不是这个 post 有什么问题导致了这个问题?我似乎不明白为什么我得到这个 json obj 键值是空的。
我尝试了两种不同的内容类型,但似乎没有什么不同。
问题是我没有使用 express.json()
。我将 app.use(express.json())
添加到我的 app.js 文件中,这修复了所有问题。我希望这可以帮助别人。
这是给任何使用过 Stripe.js 的人的问题。我正在尝试用 express 和 node 构建一个支付系统。我在这个问题上被困了大约一天。我只想 post 一个带有 {"token":"token_val","item":"item_val"}
的 json 对象。我非常接近完成它,但是当我 post 到我的支付路径的数据时,我的 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
})
}
})
是不是这个 post 有什么问题导致了这个问题?我似乎不明白为什么我得到这个 json obj 键值是空的。 我尝试了两种不同的内容类型,但似乎没有什么不同。
问题是我没有使用 express.json()
。我将 app.use(express.json())
添加到我的 app.js 文件中,这修复了所有问题。我希望这可以帮助别人。