Javascript 在Ajax中发送复选框True或False

Javascript 在Ajax中发送复选框True或False,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我想向我的Node.js服务器发送一个bool。目前,我所发送的是一个字符串。我希望bool以bool而不是字符串的形式发送。在我看来,这似乎是应该的;但是,在我的mongodb数据库中,它存储为字符串。提前谢谢 $.ajax({ type: "POST", url: "url", timeout: 2000, data: { 'bool': $('input[name=bool]').is(':checked') }, success: function(dat

我想向我的
Node.js
服务器发送一个bool。目前,我所发送的是一个
字符串
。我希望
bool
bool
而不是字符串的形式发送。在我看来,这似乎是应该的;但是,在我的
mongodb
数据库中,它存储为字符串。提前谢谢

$.ajax({
  type: "POST",
  url: "url",
  timeout: 2000,
  data: {
    'bool': $('input[name=bool]').is(':checked')
  },
  success: function(data) {
    $('#Error').css('display', 'none')
    $('#Error').html('')
    $('#Good').css('display', 'block')
    $('#Good').html('Success! Sending information and redirecting...')
  },
  error: function(jqXHR, textStatus, err) {
    //server error
    console.log("bad server");
  }
});

添加
contentType
应允许node.js解析布尔值:

$.ajax({
  type: "POST",
  url: "url",
  contentType: "application/json",
  timeout: 2000,
  data: {
    'bool': $('input[name=bool]').is(':checked')
  },
  success: function(data) {
    $('#Error').css('display', 'none')
    $('#Error').html('')
    $('#Good').css('display', 'block')
    $('#Good').html('Success! Sending information and redirecting...')
  },
  error: function(jqXHR, textStatus, err) {
    //server error
    console.log("bad server");
  }
});

修复了这个问题,正如你们中的一些人所说,我需要将
string
转换为
boolean
服务器端。我通过
var BoolName=(BoolName==bool)实现了这一点。现在,它以
boolean
类型保存在
MongoDB
中。

您发送的数据将是一个字符串,当您在服务器上收到它时,您必须将其转换为bool。@Musa-misread将删除注释。抱歉。通常,许多json库在内部处理此数据类型映射,如果没有使用插件,我们需要手动执行此操作。将内容类型设置为application/json不会将数据更改为json,并且您必须设置服务器端代码以将数据从字符串解析为所需的数据类型。