使用AJAX POST请求存储数字数据

时间:2015-11-26 17:34:33

标签: javascript jquery ajax

我尝试使用简单的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" }

我该如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

表单值是字符串。您告诉发送字符串。

JSON.stringify不会将数字转换为字符串(并在控制台中运行它以测试您的假设会立即显示)。

有很多选择,但其中一个是:

data: JSON.stringify({
  rating: parseInt(userRating, 10)
})