前后端分离项目中前端请求传参问题

一. 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:{...}

})

后端路由:
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")

猜你喜欢

转载自www.cnblogs.com/banbosuiyue/p/12515014.html