Ajax请求将数字作为字符串发送

时间:2016-07-09 22:49:00

标签: javascript ajax node.js

我希望通过AJAX帖子发送不同的数字作为数字而不是字符串。我知道,ajax请求/ http协议不是类型安全的,因此我创建了一个JSON对象,但在服务器端,它仍然以字符串形式接收。

var node = $(this);
var id = parseInt(node.data("id"));
var isActive = node.is(':checked') ? 1 : 0;
var jsonParam = {Id: id, IsActive: isActive};

$.ajax({
  url: "/accounts/edit-account",
  type: "POST",
  data: jsonParam,
  dataType: "json",
  success: function (response)
  {

  },
  error: function (xhr) {
    alert("Error while updating the account");
  }
});

返回:

{ Id: '102', IsActive: '1' }

服务器代码:

router.post('/edit-account', function(req, res) {
    console.log(req.body)
});

2 个答案:

答案 0 :(得分:1)

尝试在AJAX中指定contentType: "application/json"dataType指定了响应的预期内容,而不是请求中的内容。

答案 1 :(得分:0)