我需要以整数形式发送id
和quantity
。我将其定义为整数,但由于某种原因,当我尝试发布它时,它会将 id
作为字符串发布。
我在这里错过了一些简单的东西,只是不知道是什么..如何将 id
和 quantity
作为整数发送?我的代码如下:
var id = parseInt(identifier, 20);
var quantity = parseInt(amount, 10);
var updates = {};
updates[id] = quantity;
$.post('/cart/update.js', {updates: {updates}});
帖子中的 JSON 应如下所示:
$.post('/cart/update.js', {updates: {40076307207: 1}});
谢谢
最佳答案
$.post
不发送 JSON,它使用 application/x-www-form-urlencoded
格式。这种格式不区分数据类型,所有内容都作为字符串发送。如果参数应该是整数,则需要在服务器代码中对其进行转换。
此外,在 JSON 中,对象键始终是字符串。
为了得到你想要的结构,它应该是:
$.post('/cart/update.js', {updates: updates});
您要添加额外的嵌套级别,因为 {updates}
是 {updates:updates}
的 ES6 简写形式,因此您要发送 {更新:{更新:更新}}
。
关于javascript - 在帖子中格式化 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42614072/