tôi đã phải đối mặt với một vấn đề tiếp theo:jQuery và dài int id
Trong cơ sở dữ liệu của chúng tôi, chúng tôi có các đối tượng với id, như 4040956363970588323. Tôi đang viết một số client-wizard trên jQuery để tương tác với các đối tượng như vậy. Khách hàng nhận dữ liệu cơ sở về các đối tượng trough một Ajax yêu cầu, như:
$.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!");
}
})
Vì vậy, như bạn thấy tôi gửi dữ liệu như JSON đối tượng (một chút mã server):
return HttpResponse(dumps({
"success": True,
"pages": [{"id": page.id, "title": page.title, "url": page.image} for page in Page.objects.filter(site = site)]
}))
Theo Firebug, máy chủ gửi id phải trong dữ liệu, nhưng console.log(..)
thay vì id chính xác (4040956363970588323), kết quả đầu ra id 4040956363970588000
.
Tại sao điều này lại xảy ra?
Nếu không có id đúng, bất kỳ cơ hội, mà thuật sĩ của tôi sẽ làm việc một cách chính xác :)
FWIW, thông báo lỗi của bạn cho biết 'updateTips (" Internal erro! ");' (Typo on the word "error"). Đó là loại thú vị: P –