一、django的request中post對象為空(即獲取不到前臺ajax傳送的post對象)
1、將django的setting中的django.middleware.csrf.CsrfViewMiddleware注釋即可。
2、或在from中添加{% csrf %},后臺接受的方法上加語法糖:@csrf_exempt,注意添加引用模塊
3、若以上操作后還是不行,則將form標(biāo)簽中的action屬性去掉(這里只是針對ajax處理,非表單提交)
二、對于ajax的復(fù)雜對象,例如[{"id":"001","name":"小明"},{"id":"002","name":"小軍"}].,后臺post的處理
必須將這種對象轉(zhuǎn)化為json格式傳到后臺,后臺在反序列化即可。(不要用ajax的其他序列化格式,其深度序列化后,django后臺解析比較困難)
contentType不需要指定utf-8,否則post解析出錯(cuò)(注釋掉的,不需要留)
對于csrf 以及 django的request中post對象解析的原理,后續(xù)再補(bǔ)。
總結(jié)
以上所述是小編給大家介紹的django獲取ajax的post復(fù)雜對象的實(shí)現(xiàn)方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對錯(cuò)新站長站網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選