Ajax 如何从“中获取数据?”;“数据”;jQuery和Django中的变量
我觉得有点像这样:Ajax 如何从“中获取数据?”;“数据”;jQuery和Django中的变量,ajax,django,jquery,Ajax,Django,Jquery,我觉得有点像这样: alert(data[0].fields.points); 我认为: from django.core import serializers 后来 data = serializers.serialize('json', MODEL.objects.filter(id=id), fields=('points')) return HttpResponse(data) 在我的jQuery中: $.ajaxSetup({ dataType: "json" }); $
alert(data[0].fields.points);
我认为:
from django.core import serializers
后来
data = serializers.serialize('json', MODEL.objects.filter(id=id), fields=('points'))
return HttpResponse(data)
在我的jQuery中:
$.ajaxSetup({
dataType: "json"
});
$('#selector .selector_detail a').click(function() {
var call_to = $(this).attr('href');
$.ajax({
url: call_to,
type: "POST",
complete: function() {
console.log('Ajax Complete')
},
success: function(data) {
points = data(fields.points)
console.log('Ajax Successful')
console.log(data);
},
error: function(xhr) {
console.log('Whoops, something went wrong. XHR Response:' + JSON.stringify(xhr));
},
});
return false;
});
我想要分数的价值,但我不知道如何把它拿出来。当我查看数据对象时,可以在console.log中看到它。我遗漏了什么?如果数据是一个json对象,并且设置了正确的头,您可以使用点访问它的属性:
data.points
data[0].points //if points is an array
//this is not correct
data(fields.points);
我不知道“数据”的确切结构是什么,但你可以从你的console.log(data)派生出来
编辑-如果数据具有您在注释中概述的结构,您可以访问如下点:
alert(data[0].fields.points);
将数据类型:“json”添加到.ajax调用中
$.ajax({
url: call_to,
dataType: 'json',
type: "POST",
然后在成功函数中显示jut data.points,或者可能是data.field.points。从你的帖子中我看不出来。console.log语句打印的是什么?我猜
data
要么是points
对象,要么包含一个属性points
。它打印出来:“[{“pk”:3,“model”:“pointify.hero”,“fields”:{“points”:2758}]”这是我从数据中得到的:“[{“pk”:4,“model”:“pointify.hero”,“fields”:“{“points”:3102}]”我对此很陌生,因此,我不知道如何在比赛中得分。它看起来像一个阵列中的一个阵列?太棒了!!!非常感谢。关于[0]的快速问题。这不表示数组中的数字吗?我试图进入位置[3](#4,以0为基础计数),但这似乎不起作用。是的,它意味着位置0(这是数组中的第一个对象。实际上,可能您对位置3有问题,因为数组可能不是由四个对象组成的。“数据”似乎是一个对象数组,您可以用data.length检查它的长度;