将 Django 中的 json 数据输入到 jquery 函数中

Posted

技术标签:

【中文标题】将 Django 中的 json 数据输入到 jquery 函数中【英文标题】:Feeding json data from Django into jquery function 【发布时间】:2020-12-31 22:28:03 【问题描述】:

我正在实现一些用于过滤的 jquery 代码,它最初从 json 文件中获取数据:

function getProducts() 
$.get("products.json", (products) => 
  ...;
)

但是,我不想获取 json 文件,而是使用类似 json 的数组并使用它来代替 json 文件。这些数据将来自 Django 后端,后者会将数据传递到 html 模板。

类似这样的:

var products = jsonData

which would then be this:

var products = [
  
    "id": 1,
    "category": "shirts",
    "name": "Fantasy T-shirt",
    "rating": 4,

  ,
  
    "id": 2,
    "category": "hoodies",
    "name": "Wolf Hoodie",
    "rating": 5,
  ,
]

我如何修改 jquery 代码以接受它?

谢谢!

【问题讨论】:

json-like array 来自哪里?不清楚要做什么? 你的意思是你想将 products (这是你的函数中的一个字符串)转换为一个数组?然后在该函数中使用products = JSON.parse(products)。如果 json 字符串有效,它将起作用。见JSON.parse() @AlwaysHelping 我已经编辑了这个问题。数据将由 Django 后端提供,并以正确的格式传递。这有意义吗? 为什么不在$.get 中使用$.each 函数并从array 中获取所有数据,然后将其填充到需要出现数据的位置。 @verjas 语法是什么?像下面这样的东西? $.get(JSON.parse(products), (products) => 【参考方案1】:

您可以通过返回将 Json 数组从视图传递到模板

from django.http import JsonResponse

return JsonResponse('key1':var1)

【讨论】:

谢谢!后续问题:json数组在这段代码中的位置:javascript function getProducts() $.get("products.json", (products) => ...; ) 我不知道,抱歉 :( 我的 javascript 技能还不够基本。

以上是关于将 Django 中的 json 数据输入到 jquery 函数中的主要内容,如果未能解决你的问题,请参考以下文章

jq json将对象移动到嵌套对象并迭代未知名称/对象数

JQ将数据从1个文件推送到另一个文件的嵌套数组中

如何使用 jq 重新格式化 json 中的特定数据

如何使用jq将两个文件中的数组合并到一个数组中?

将 JSON 数据传输到 Django 网站

如何使用 JQ 转换此 JSON 数据以依次将每个嵌套数组元素提取到顶层?