我希望通过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)
});
答案 0 :(得分:1)
尝试在AJAX中指定contentType: "application/json"
。 dataType
指定了响应的预期内容,而不是请求中的内容。
答案 1 :(得分:0)