javascript - jQuery 和 long int id

标签 javascript jquery floating-point floating-accuracy

我遇到了下一个问题:

在我们的数据库中,我们有带有 ID 的对象,例如 4040956363970588323。 我正在 jQuery 上写一些客户端向导用于与此类对象进行交互。客户端通过 Ajax 接收有关对象的基本数据请求,例如:

$.ajax({
        url: "/api/pages/",
        type: "get",
        dataType: "json",
        data: {"id": site_id},
        success: function(data){
            if (data.success){
                for (var pidx in data.pages){
                    console.log(data.pages[pidx].id);
                    var li = $('<li class="ui-widget-content"></li>');
                    var idf = $('<input type="hidden" id="pid" value="{0}"/>'.format(data.pages[pidx].id))
                    var urlf = $('<input type="hidden" id="purl" value="{0}"/>'.format(data.pages[pidx].url))
                    li.text(data.pages[pidx].title);
                    li.append(idf);
                    li.append(urlf);
                    $("#selectable_pages_assign").append(li);
                }
                pages_was = $("#selectable_pages_assign>li");
            }
            else
                 updateTips(data.message);
        },
        error: function(){
             updateTips("Internal erro!");
        }
})

因此,如您所见,我发送了类似 JSON 的数据对象(一些服务器代码):

return HttpResponse(dumps({
                        "success": True,
                        "pages": [{"id": page.id, "title": page.title, "url": page.image} for page in Page.objects.filter(site = site)]
            }))

根据 Firebug ,服务器在数据中发送正确的 ID,但 console.log(..) 而不是正确的 ID (4040956363970588323),输出 id 4040956363970588000

为什么会这样?

如果没有正确的 ID,我的向导将有可能正常工作:)

最佳答案

我的猜测是在转换为 JSON 时出了点问题。当您写入值时,您可能需要在其周围加上引号,以确保它被视为字符串。

关于javascript - jQuery 和 long int id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2347421/

相关文章:

javascript - 元素的 FormData 不起作用 - Internet Explorer 10

javascript - Jquery 显示隐藏内容

powershell - PowerShell Round&Format Float最多2位小数?

c - 如何确保不同系统上的 float 相同?

javascript - 如何使用 facebook JS SDK 捕获页面加载时喜欢的页面?

javascript - 如何防止用户从本地保存的 Html 登录页面访问 Web 应用程序?

javascript - 这个 JavaScript 贪吃蛇游戏的错误是什么?

javascript - 应用 Glyphicon 时,React-Bootstrap 按钮会调整大小

javascript - 创建可重用的 jQuery 函数

Javascript - 将 float 四舍五入到最接近的非零数字的最有效方法