Rumah > Soal Jawab > teks badan
Kandungan json saya adalah seperti ini:
{
"type":"user",
"ifor":[
{
"id":001,
"name:"lison"
},
{
"id":002,
"name":"wei"
}
]
}
Dalam JS, saya menggunakan kaedah ajax jquery untuk menghantarnya, dan menulisnya seperti ini:
$.ajax("url",{
type:"post",
data:{
type:"user",
ifor: [
{
id:001,
name:"lison"
},
{
id:002,
name:"wei"
}
]
},
success:function(){}
})
Versi saya ialah python3.6 dan Django ialah 1.11.1. Bagaimanakah saya harus menerimanya dalam views.py dalam Django? Saya banyak menyemak dalam talian, ada yang berkata json.loads(request.body), ada yang berkata simplejson.loads(request.raw_post_data), tetapi mereka semua nampaknya menghadapi masalah. Bolehkah anda beritahu saya cara menerima dan menghuraikannya
女神的闺蜜爱上我2017-06-12 09:25:52
Ajax bahagian hadapan:
data = {};
$.ajax({
type: "post",
url: "url",
dataType: "json",
data: JSON.stringify(data),
success: function(result) {
}
});
Nilai belakang:
import json
data = json.loads(request.body)
print data['key']
代言2017-06-12 09:25:52
Anda mesti terlebih dahulu menentukan rupa kandungan yang anda hantar ke bahagian belakang. Ia tidak boleh secara langsung json.loads
Anggap bahawa kod sumber kaedah yang sepadan adalah seperti berikut
def test(req):
print(req.POST) # 通过输出看看前端传过来的数据是什么
return HttpResponse('test')
Hanya format json
yang mematuhi '{"aa":"xxx"...}'
boleh dikenali dan dinyahsiri oleh '{"aa":"xxx"...}'
这样的json
格式才能够被json.loads
识别并反序列化, 如果传回来的结果不是这样的json
格式, 那么就要调整前端的ajax
, 以便能够构造出这样的数据, 具体可以通过dataType: json
或者通过字符串拼接的方法构造都可以, 详情可以自行谷歌: ajax传递json数据
Jika hasilnya dikembalikan bukan format json
, maka ajax
bahagian hadapan mesti dilaraskan untuk dapat membina data sedemikian Secara khusus, anda boleh menghantar dataType: json atau Ia boleh dibina melalui penyambungan rentetan untuk mendapatkan butiran, anda boleh Google sendiri:
ajax lulus data json