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,并且您必须设置服务器端代码以将数据从字符串解析为所需的数据类型。