前端和後端溝通,最常用就是 get
和 post
,所以我只打算講一下這兩個在 vue 和 django 要怎麼用,其實我比較想講的是架站以及安全方面,前面十幾天都是鋪陳,大家期待接下來的文章吧!會越來越精彩
先在 django 專案這邊的 views.py
內建立一個讓前端以 get
方法呼叫的 api
def function1(request):
# get paramater from front-end
param1=request.GET['param1']
# response data to front-end
response={}
response['msg']='hello world'
return JsonResponse(response)
function1 內的第一個參數是前端的 request,之後第二個參數第三個參數可以隨便你設,這倒是沒有限制
用 request.GET
這個方法獲得前端傳遞的參數,GET['param1']
代表前端傳遞了一個參數 key 是 param1
我們這邊回傳以回傳一筆 json 格式的資料做示範,response['msg']='hello world'
代表回傳資料的 key 值是 'msg',value 是 'hello world'
然後在這個 app 下的 urls.py
內定義路由
urlpatterns = [
path('function1', views.function1),
]
我們在 vue 專案內的 home.vue
建立一個 method 來 call api,首先先引入 axios
import axios from 'axios'
再來建立方法
const callFunction1=()=>{
axios.get('localhost:8000/app/function1',{
params:{
param1:'hey'
}
})
.then(res=>{
console.log(res.data['msg'])
})
}
params
是用來傳遞參數,我們這邊設定有一個參數叫 param1,然後值等於 'hey'
call 完 api 後用 then
內的 res.data
獲得後端 response 的資料