javascript – jQuery和long int id

前端之家收集整理的这篇文章主要介绍了javascript – jQuery和long int id前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我遇到了下一个问题:

在我们的数据库中,我们有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时出错了.当你写这个值时,你可能需要在它周围加上引号,以确保它被视为一个字符串.
原文链接:https://www.f2er.com/jquery/151233.html

猜你在找的jQuery相关文章