python前后端分離項目中前端請求傳參問題


# ### 這里前端是Vue框架, 后端是drf框架

如果前端是其他框架的話, ajax請求寫法會有相應變化; 如果后端是django框架的話,request對象會有相應變化

一. get和delete方法沒有請求體, 所以要用路由參數或者用 params:{} 進行傳參

(1) 用路由參數進行傳參

# 前端發送ajax

this.$axios.delete(`${this.$settings.Host}/article/del_collection/${collection_id}`,{

  headers:{..}

})

 

# 后端路由
re_path(
"^del_collection/(?P<pk>\d+)/$",...),

# 視圖方法里直接傳參pk獲取 collection_id

(2) 用 params:{} 進行傳參

# 前端發送ajax

this.$axios.get(`${this.$settings.Host}/article/`,{

  params:{ collection: this.collection_list[this.current_collection].id },

  headers:{...}

})

// 其實這種添加查詢字符串方式就相當於直接在路由后面寫...article/?collection=1&xxx=xx

后端路由:
path(
"",...),

視圖方法里獲取
collection:
collection_id = request.query_params.get("collection")

 

二.  put和post請求方法的查詢字符串參數在請求體中, 所以要用路由參數或者用 {} 進行傳參

(1) 用路由參數進行傳參同上述(1)


(2) 用{}直接傳參

this.$axios.put(`${this.$settings.Host}/article/public/${article_id}/`,{
  is_public: is_public,
},{
  headers:{...}
})
后端視圖中獲取
is_public:
is_public = request.data.get("is_public")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM