欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue在body和query中如何向后端傳參

 更新時間:2022年09月07日 09:20:26   作者:沃特艾文兒~  
這篇文章主要介紹了vue在body和query中如何向后端傳參,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

在body和query中向后端傳參

在vue向Django后端傳參的時候,常常會出現(xiàn)request.body或者其他為空的現(xiàn)象,主要原因是參數(shù)存放的位置不對。這里總結(jié)一下兩種傳參方式。

data

我們需要傳遞的數(shù)據(jù)可以放在data中以鍵值對的形式來傳遞到后端。

export function registerM(username, password) {
? ? return request({
? ? ? ? url: 'login/register/',
? ? ? ? method: 'post',
? ? ? ? data: {
? ? ? ? ? ? nickname: username,
? ? ? ? ? ? pwd: password
? ? ? ? }
? ? })
}

在Django后端中我們通過request.data來訪問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

我們也可以通過params來傳遞數(shù)據(jù),params也是健值對的形式。

export function SignInM(params) {
? ? return request({
? ? ? ? url: 'login/LogOn/',
? ? ? ? method: 'post',
? ? ? ? params: params
? ? })
}

在Django后端我們可以使用request.query_params.get()來獲取vue前端傳遞的數(shù)據(jù)。

? ? @action(methods=['post'], detail=False)
? ? @csrf_exempt
? ? def register(self, request, *args, **kwargs):
? ? ? ? username = request.query_params.get('nickname')

vue往后臺傳參(不是傳對象)

因為有規(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
? ? });
}

后臺:

@PostMapping(value = "withdrawCount")
public Object withdrawCount(@RequestParam(required = true) int date) {
? ? return new UpmsResult(UpmsResultConstant.SUCCESS, dashboardService.withdrawCount(date));
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

最新評論