vue在body和query中如何向后端傳參
在body和query中向后端傳參
在vue向Django后端傳參的時(shí)候,常常會(huì)出現(xiàn)request.body或者其他為空的現(xiàn)象,主要原因是參數(shù)存放的位置不對(duì)。這里總結(jié)一下兩種傳參方式。
data
我們需要傳遞的數(shù)據(jù)可以放在data中以鍵值對(duì)的形式來(lái)傳遞到后端。
export function registerM(username, password) { ? ? return request({ ? ? ? ? url: 'login/register/', ? ? ? ? method: 'post', ? ? ? ? data: { ? ? ? ? ? ? nickname: username, ? ? ? ? ? ? pwd: password ? ? ? ? } ? ? }) }
在Django后端中我們通過(guò)request.data來(lái)訪問(wèn)vue傳遞的數(shù)據(jù)
? ? @action(methods=['post'], detail=False) ? ? @csrf_exempt ? ? def register(self, request, *args, **kwargs): ? ? ? ? username = request.data.get("nickname") ? ? ? ? pwd = request.data.get("pwd")
params
我們也可以通過(guò)params來(lái)傳遞數(shù)據(jù),params也是健值對(duì)的形式。
export function SignInM(params) { ? ? return request({ ? ? ? ? url: 'login/LogOn/', ? ? ? ? method: 'post', ? ? ? ? params: params ? ? }) }
在Django后端我們可以使用request.query_params.get()來(lái)獲取vue前端傳遞的數(shù)據(jù)。
? ? @action(methods=['post'], detail=False) ? ? @csrf_exempt ? ? def register(self, request, *args, **kwargs): ? ? ? ? username = request.query_params.get('nickname')
vue往后臺(tái)傳參(不是傳對(duì)象)
因?yàn)橛幸?guī)定必須用post提交
example
vue:
withdrawCount(){ ? ? let formData = new FormData(); ? ? formData.append("date",this.date); ? ? withdrawCount(formData).then(response => { ? ? }); },
js:
export function withdrawCount(query) { ? ? return fetch({ ? ? ? ? url: commonUrl + '/withdrawCount', ? ? ? ? method: 'POST', ? ? ? ? data: query ? ? }); }
后臺(tái):
@PostMapping(value = "withdrawCount") public Object withdrawCount(@RequestParam(required = true) int date) { ? ? return new UpmsResult(UpmsResultConstant.SUCCESS, dashboardService.withdrawCount(date)); }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue axios 在頁(yè)面切換時(shí)中斷請(qǐng)求方法 ajax
下面小編就為大家分享一篇vue axios 在頁(yè)面切換時(shí)中斷請(qǐng)求方法 ajax,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03vue3中通過(guò)遍歷傳入組件名稱動(dòng)態(tài)創(chuàng)建多個(gè)component 組件
這篇文章主要介紹了vue3中通過(guò)遍歷傳入組件名稱動(dòng)態(tài)創(chuàng)建多個(gè)component 組件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03解決找不到模塊“xxx.vue”或其相應(yīng)的類型聲明問(wèn)題
這篇文章主要介紹了解決找不到模塊“xxx.vue”或其相應(yīng)的類型聲明問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2022-10-10vue3.0自定義指令(drectives)知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整體了一篇關(guān)于vue3.0自定義指令(drectives)知識(shí)點(diǎn)總結(jié),有興趣的朋友們可以學(xué)習(xí)下。2020-12-12在Vant的基礎(chǔ)上實(shí)現(xiàn)添加表單驗(yàn)證框架的方法示例
這篇文章主要介紹了在Vant的基礎(chǔ)上實(shí)現(xiàn)添加驗(yàn)證框架的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12vue-router3.0版本中 router.push 不能刷新頁(yè)面的問(wèn)題
這篇文章主要介紹了vue-router3.0版本中 router.push 不能刷新頁(yè)面的問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05