【问题标题】:Querydict not recognizing json array in djangoQuerydict 无法识别 django 中的 json 数组
【发布时间】:2019-02-23 20:14:38
【问题描述】:

Django 和 Django Rest Framework 未检测到以下 JSON 对象中的数组:

{
   "datum":
        [
             {'proposed':'20/sep/2018', "pk":"475"},
             {'proposed':'20/sep/2018', "pk":"517"}
        ]
}

当我执行print(request.data) 时,输出如下:

 <QueryDict: {'{"datum":[{"proposed_submission_date":"20/Sep/2018","pk":"475"},{"proposed_submission_date":"20/Sep/2018","pk":"512"}]}': ['']}>

当我执行print(request.data.keys())我得到:

 {"datum":[{"proposed_submission_date":"20/Sep/2018","pk":"475"},{"proposed_submission_date":"20/Sep/2018","pk":"512"}]}

您可以看到它以json字符串为键,而不是指定“数据”为键。

我需要对 JSON 字符串执行其他操作吗?

我正在对 Django REST 框架后端执行 AJAX PUT。

【问题讨论】:

    标签: ajax django django-rest-framework


    【解决方案1】:

    您看到 QueryDict 而不仅仅是 dict 的事实表明您将数据作为 application/x-www-form-urlencoded 或 multipart/form-data 发送。

    确保您使用 application/json 内容类型发送请求,它应该没问题。

    【讨论】:

    • 当我在 ajax 设置中添加:contentType: "application/json" 时,它就像一个魅力。谢谢!!!
    猜你喜欢
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多