gpt4 book ai didi

javascript - JSON 响应不是普通对象

转载 作者:行者123 更新时间:2023-11-28 18:16:56 25 4
gpt4 key购买 nike

这是来自获取 Django 应用程序所有对象的请求,它不是获取普通对象,因为打印显示它只是一个字符串

Javascript:

  $.getJSON("/cadastro/getAllPessoas/", function(data){
console.log(data);
console.log(typeof(data));
console.log($.isPlainObject(data));
//Raises error on isArrayLike():
$.each(data,function(){
arrayValues.push([this["pk"],this["fields"]["nome"]]);
})
});

控制台输出:

[{"model": "cadastroapp.djangotestpessoa", "pk": 1, "fields": {"nome": "Gabriel"}}] 
string
false

views.py:

from django.core import serializers
def getAllPessoas(request):
data = serializers.serialize('json', Pessoa.objects.all(), fields=('objectid','nome'))
return JsonResponse(data, safe=False)

最佳答案

您在 Django View 中序列化两次,因为 serializers.serialize 和 JsonResponse 都会转换为 JSON。不要那样做;只需返回带有序列化值的正常响应即可。

return HttpResponse(data, content_type='application/json')

关于javascript - JSON 响应不是普通对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40663493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com