python3.x - Comment analyser Python Django lors du passage de JSON au backend via Ajax
过去多啦不再A梦
过去多啦不再A梦 2017-06-12 09:23:52
0
2
893

Mon contenu json est comme ceci :

{
    "type":"user",
    "ifor":[
        {
            "id":001,
            "name:"lison"
        },
        {
            "id":002,
            "name":"wei"
        }
    ]
}

En JS, j'utilise la méthode ajax de jquery pour le transmettre, et je l'écris comme ceci :

$.ajax("url",{
    type:"post",
    data:{
        type:"user",
        ifor: [
            {
                id:001,
                name:"lison"
            },
            {
                id:002,
                name:"wei"
            }
        ]
    },
    success:function(){}
})

Ma version est python3.6 et Django est 1.11.1. Comment dois-je le recevoir dans vues.py dans Django ? J'ai beaucoup vérifié en ligne, certains ont dit json.loads(request.body), d'autres ont dit simplejson.loads(request.raw_post_data), mais ils semblaient tous avoir des problèmes. Pourriez-vous s'il vous plaît me dire comment les recevoir et les analyser

.
过去多啦不再A梦
过去多啦不再A梦

répondre à tous(2)
女神的闺蜜爱上我

Ajax frontal :

data = {};
$.ajax({
    type: "post",
    url: "url",
    dataType: "json",
    data: JSON.stringify(data),
    success: function(result) {
    }
});

Valeur du backend :

import json
data = json.loads(request.body)
print data['key']
代言

Vous devez d'abord déterminer à quoi ressemble le contenu que vous transmettez au backend. Cela ne peut pas être directement json.loads
Supposons que le code source de la méthode d'affichage correspondante soit le suivant

def test(req):
    print(req.POST)   # 通过输出看看前端传过来的数据是什么
    return HttpResponse('test')

Seul le format json conforme à '{"aa":"xxx"...}' peut être reconnu et désérialisé par '{"aa":"xxx"...}'这样的json格式才能够被json.loads识别并反序列化, 如果传回来的结果不是这样的json格式, 那么就要调整前端的ajax, 以便能够构造出这样的数据, 具体可以通过dataType: json或者通过字符串拼接的方法构造都可以, 详情可以自行谷歌: ajax传递json数据 Si le résultat est renvoyé Si cela. n'est pas le format json, alors le ajax frontal doit être ajusté pour pouvoir construire de telles données. Plus précisément, vous pouvez transmettre dataType: jsoncode> ou Il peut être construit via l'épissage de chaînes. Pour plus de détails, vous pouvez le rechercher vous-même : ajax transmet les données json

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal