Ich habe eine Ajax-Anfrage QueryDB aufrufen und versuchen, die Daten abzufragen. Django nicht auf Referenzwert nach der Rückkehr serialisieren Modellobjekt für Ajax-Anfrage
def QueryDB(request):
_exp = request.GET['exp']
_alg = request.GET['alg']
_orderby = request.GET['orderby']
_type = request.GET['type']
_nOutput = request.GET['nOutput']
if(_type == 'fp'):
evs = ev_detection.objects.filter(alg=_alg, exp = _exp)
order_evs = evs.order_by('score');
#order_evs = order_evs[0:int(_nOutput)]
data = serializers.serialize('json', order_evs)
return HttpResponse(data, content_type = "application/json")
ev_detection Modell:
class ev_detection(models.Model):
imageset = models.CharField(max_length=20,default='')
exp = models.CharField(max_length=20,default='')
alg = models.CharField(max_length=20)
nFrame = models.FloatField()
xAxis = models.FloatField()
yAxis = models.FloatField()
width = models.FloatField()
height = models.FloatField()
score = models.FloatField()
match = models.IntegerField()
Meine AJAX-Funktion:
$(document).ready(function(){
$('#fpquery').on("click", function(){
$.ajax({
type:'GET',
url: '/results/QueryDB',
data: {
'exp':'Reasonable',
'alg':'FT22-OI',
'type':'fp',
'orderby': 'score',
'nOutput': 5
},
dataType: 'json',
success: function (data) {
alert(data[0].length);
}
});
});
});
Der Alarm Popup-Wert "undefiniert" Aber wenn ich es zu alert(data.length);
ändern 5 zurückzukehren, welche die richtige ist Nummer. Ich frage mich nur, wie kann ich in meinem Fall die richtige json Rückkehr bekommen?
Ich kann nicht wirklich auf die Daten verweisen. Ich gebe Daten aus [0] [0] es gibt mir "undefined" zurück. – pwan
Da es sich um ein Objekt handelt, haben Objekte Schlüssel und keine Indizes. Sie sollten versuchen, 'data [0]' auszugeben, um zu sehen, welche Schlüssel es hat: 'data [0] .fields' würde wahrscheinlich funktionieren. –
ich dachte, es ist schon im json format? Und referenziert Javascript Objekt mit "."? – pwan