我尝试使用简单的AJAX请求存储数字数据(整数):
function sendRating(rating) {
var userRating = rating.value;
$.ajax({
url: '/rating',
type: 'POST',
data: JSON.stringify({
"rating": userRating
}),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: (...)
});
}
此功能附加到具有值(1,2,3,4,5)的按钮。因为我使用JSON.stringify
,所以当我检查数据库中的记录时,数字会转换为字符串。当我在数据库中返回结果时,它们看起来像这样:{ "rating": "4" }
我该如何避免这种情况?
答案 0 :(得分:1)
表单值是字符串。您告诉发送字符串。
JSON.stringify
不会将数字转换为字符串(并在控制台中运行它以测试您的假设会立即显示)。
有很多选择,但其中一个是:
data: JSON.stringify({
rating: parseInt(userRating, 10)
})