當(dāng)我們開(kāi)發(fā)網(wǎng)頁(yè)時(shí),使用帶數(shù)組的ajax post參數(shù),然后根據(jù)請(qǐng)求獲取數(shù)組,post數(shù)組變成一個(gè)元組,那么獲取ajax的post復(fù)雜對(duì)象的實(shí)現(xiàn)方法我們都掌握了嗎?別著急,錯(cuò)新技術(shù)頻道和你分享。
一、django的request中post對(duì)象為空(即獲取不到前臺(tái)ajax傳送的post對(duì)象)
1、將django的setting中的django.middleware.csrf.CsrfViewMiddleware注釋即可。
2、或在from中添加{% csrf %},后臺(tái)接受的方法上加語(yǔ)法糖:@csrf_exempt,注意添加引用模塊
3、若以上操作后還是不行,則將form標(biāo)簽中的action屬性去掉(這里只是針對(duì)ajax處理,非表單提交)
二、對(duì)于ajax的復(fù)雜對(duì)象,例如[{"id":"001","name":"小明"},{"id":"002","name":"小軍"}].,后臺(tái)post的處理
必須將這種對(duì)象轉(zhuǎn)化為json格式傳到后臺(tái),后臺(tái)在反序列化即可。(不要用ajax的其他序列化格式,其深度序列化后,django后臺(tái)解析比較困難)
contentType不需要指定utf-8,否則post解析出錯(cuò)(注釋掉的,不需要留)
對(duì)于csrf 以及? django的request中post對(duì)象解析的原理,后續(xù)再補(bǔ)。
總結(jié)
以上是獲取ajax的post復(fù)雜對(duì)象的實(shí)現(xiàn)方法,當(dāng)我們都掌握好了這些知識(shí),那么距離我們獨(dú)當(dāng)一面的時(shí)候也不遠(yuǎn)了,非常感謝您對(duì)愛(ài)展科技頻道網(wǎng)站的支持。
新聞熱點(diǎn)
疑難解答
圖片精選