vue在body和query中如何向后端传参
在body和query中向后端传参
在vue向Django后端传参的时候,常常会出现request.body或者其他为空的现象,主要原因是参数存放的位置不对。这里总结一下两种传参方式。
data
我们需要传递的数据可以放在data中以键值对的形式来传递到后端。
export function registerM(username, password) {
return request({
url: 'login/register/',
method: 'post',
data: {
nickname: username,
pwd: password
}
})
}在Django后端中我们通过request.data来访问vue传递的数据
@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来传递数据,params也是健值对的形式。
export function SignInM(params) {
return request({
url: 'login/LogOn/',
method: 'post',
params: params
})
}在Django后端我们可以使用request.query_params.get()来获取vue前端传递的数据。
@action(methods=['post'], detail=False)
@csrf_exempt
def register(self, request, *args, **kwargs):
username = request.query_params.get('nickname')vue往后台传参(不是传对象)
因为有规定必须用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));
}以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
基于vue2框架的机器人自动回复mini-project实例代码
本篇文章主要介绍了基于vue2框架的机器人自动回复mini-project实例代码,具有一定的参考价值,有兴趣的可以了解一下2017-06-06
vue中使用过滤器filters的this为undefined的问题
这篇文章主要介绍了vue中使用过滤器filters的this为undefined的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
这篇文章主要介绍了关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性),需要的朋友可以参考下2018-09-09
基于vue-cli3+typescript的tsx开发模板搭建过程分享
这篇文章主要介绍了搭建基于vue-cli3+typescript的tsx开发模板,本文通过实例代码截图的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-02-02


最新评论