Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在post中格式化JSON_Javascript_Json - Fatal编程技术网

Javascript 在post中格式化JSON

Javascript 在post中格式化JSON,javascript,json,Javascript,Json,我需要将id和quantity作为整数发送。我将它定义为一个整数,但由于某种原因,当我尝试发布它时,它将id作为字符串发布 我错过了一些简单的东西,只是不知道。。如何将id和quantity作为整数发送?我的代码如下: var id = parseInt(identifier, 20); var quantity = parseInt(amount, 10); var updates = {}; updates[id] = quantity; $.post('/cart/up

我需要将
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缩写,所以您正在发送
{updates:{updates:updates}}

,因为我看到更新是一个对象,但在它之后,您将其用作数组。