iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0

前端和後端溝通,最常用就是 getpost,所以我只打算講一下這兩個在 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 的資料


上一篇
Compare axios, ajax, fetch
下一篇
用 POST 串起前後端
系列文
Vue+Django+MongoDB+Nginx 全端開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言