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