# ### 這里前端是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")
