javascript – 问题与jQuery data()处理字符串作为数字

我有一个MySQL BIGINT,我存储在HTML5数据。然后我试图访问该值并通过AJAX调用传递它。

<div data-id="211285677671858177">

和JavaScript:

var send_data = {
    id: '' + $(this).data('id')
}
$.post('/send.php', send_data);

问题是,jQuery数据函数似乎将该值检索为浮点而不是字符串。所以将它附加到一个空白字符串没有帮助,因为它已经太晚了 – 它已经被四舍五入了(在这种情况下为211285677671858180)。我可以做什么来解决这个问题?

最佳答案
这不是“long int”的情况,你获得的数字是最接近的可用表示为浮点数。

无论如何,你想要的值作为字符串。引用jQuery docs for .data(强调我):

Every attempt is made to convert the string to a JavaScript value
(this includes booleans, numbers, objects, arrays, and null) otherwise
it is left as a string. To retrieve the value’s attribute as a string
without any attempt to convert it, use the attr() method.

转载注明原文:javascript – 问题与jQuery data()处理字符串作为数字 - 代码日志