javascript - Ajax 请求以字符串形式发送数字

标签 javascript ajax node.js

我想通过 AJAX post 将不同的数字作为数字而不是字符串发送。我知道,ajax 请求/http 协议(protocol)不是类型安全的,因此我创建了一个 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)
});

最佳答案

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

关于javascript - Ajax 请求以字符串形式发送数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38286998/

相关文章:

javascript - 如何更改 Logo 大小并在向下滚动时隐藏一些 Div

JavaScript reduce 不能处理数学函数?

javascript - Windows 商店应用程序 - javascript - 元素变量

javascript - 我应该使用 XmlHttpRequest POST 发送额外的 header 吗?

javascript - 从 NodeJS 发送数据而不重新渲染整个页面?

javascript - Nodejs 中 yEnc 的错误处理

javascript - 我如何通过ajax使用帖子和文件?

javascript - 显示预览文件

node.js - 如何使用 ssh 远程运行(shebang 前缀) Node 脚本?

javascript - Mongoosejs 刷新文档